0

SVN から git に移行する過程で、 Stash でSVN Mirror Stash プラグイン( SubGit ) を評価しています。

私たちの要件の 1 つは、カスタム revprop または JSON 形式のログ メッセージを介して、SVN リポジトリで git リビジョン ハッシュを使用できるようにすることです。

基本的に、この質問で説明されていることの逆を行おうとしています。

私は git リポジトリと svn リポジトリの両方を管理しており、カスタム フック/スクリプトを喜んで作成しますが、このフックを挿入する適切な場所を subgit または stash のドキュメントで見つけることができませんでした。また、そのような機能を挿入するためのベスト プラクティスにも非常に興味があります。

4

1 に答える 1

0

@Brilliantnutsupport@subgit.comの間でこの問題について話し合った後の簡単な要約:

私たちのチームは、対応する Git コミットのメタデータ情報 (作成者、コミッター、タイムスタンプ、コミット ID など) を保持する特別な種類のリビジョン プロパティをサポートすることを決定しました。

この機能が実装された新しいビルドを公開するとすぐに、この回答を更新します。

アップデート:

Subversion リポジトリで Git 固有のリビジョン プロパティを設定するには、SubGit 構成ファイルを次のように調整します。

$ edit GIT_REPO/subgit/config

[svn]
    ...
    revisionProperties = committer, author, date, log, commit
    ...

subgit install次に、この構成の更新をアクティブにするために実行します。

$ subgit install GIT_REPO

その後、SubGit は、Git から SVN に変換するすべてのリビジョンに対して次のプロパティを設定します。

subgit:committer="Git Committer <git.committer@company.com>"
subgit:author="Git Author <git.author@company.com>"
subgit:date="2015-06-10 16:46:01 +0400"
subgit:log="fix foo"
subgit:commit=9039c430e12d25c3ef250c8e49c4a57877c36343

構成オプションを調整して、設定するプロパティを選択することもできます。

[svn]
    ...
    revisionProperties = date, log, commit
    ...

この機能には次の制限があります。

  1. subgit:* リビジョン プロパティは、SVN ユーザーによってコミットされ、SubGit によって Git コミットから変換されていないリビジョンには設定されません。

  2. SVN リポジトリと既に同期されているコミットで新しい Git ブランチまたはタグを追加/削除すると、SubGit は subgit:* プロパティが設定されていない新しい SVN リビジョンを作成します。

于 2015-06-10T21:32:28.273 に答える