1

私のチームと私は現在、大学のプロジェクトに取り組んでいます。プロジェクトは与えられましたが、正式には開始されていなかったため、GITで作業を開始して有利なスタートを切りました。プロジェクトのコーディネーターがSVNの使用を強制したため、git-svnを使用して2つのリポジトリーをインターフェースしようとしています。

コミットを.git/info/graftsでsvnリポジトリに移動できるので問題はありません。

私の問題は、私たちのコースでは、コミット履歴に基づいた参加マークが与えられることです。ただし、コミットを移動したため、すべてのコミットにsvnユーザー名が含まれていることは明らかです(チームメイトを大いに喜ばせるかどうかはわかりません)。

git authorsファイルを調べましたが、私が知る限り、これは逆引き参照にのみ使用されます。

これで、ssh + svnを使用すると、この情報をスプーフィングするためにsshログインが必要になることは明らかです(ただし、この極端な方法で進んでいく可能性があります)が、それが役立つ場合はfile://経由でリポジトリにアクセスできます。

要約すると:

gitの作成者をそれぞれのsvnユーザー名にマップし、可能であれば(それほど重要ではありませんが)日付情報を正しくするために、「gitsvndcommit」が必要です。1つの注意点は、gitの数人の作成者が複数のgit作成者(すでにコミットを行っている)を持っているため、複数のgit作成者を単一のsvnユーザー名にマップできるようにする必要があります。

提供された助けを事前に感謝します:)


4

3 に答える 3

2

リポジトリへのファイルアクセス権がある場合は、独自のクレデンシャルを使用してすべてのコミットをSubversionにプッシュし、コマンドラインリビジョンプロパティエディターを使用して、他の人が行ったコミットに関連付けられたユーザー名を変更できます。

svn propset --revprop -r$REV svn:author $USER

デフォルトのrev-prop変更フックはすべての変更を許可せず、提供されたテンプレートは作成者の変更ではなくログメッセージの変更のみを許可するため、これにはファイルアクセスが必要です。したがって、pre-revprop-change-hook変更を許可するようにを設定する必要があります。

于 2010-07-27T13:32:50.907 に答える
1

この質問に対するより完全な回答については、https://stackoverflow.com/a/677843/97627を参照してください。簡単に言うと、それは可能であり、作成者ファイルを設定する必要があります。

于 2012-11-15T00:53:31.667 に答える
0

これを行うには、各チームメイトのアカウント名とログインを取得し、すべてのコミットを(スクリプトを介して)拒否し、対応するコミットの下に常にプッシュする必要があります。

評価のためにgit作成者の統計を提出してみませんか?

于 2010-07-27T13:11:43.947 に答える