4

まず、新しい空の Subversion リポジトリと既存の git リポジトリに「プッシュ」して、すべての履歴と作成者 (可能であればユーザー名だけでも) を保持します。

「git svn dcommit」を使用すると、Subversion リポジトリの履歴でリビジョン コメントを確認できますが、作成者の詳細はデフォルトで Subversion のユーザー名になり、コミット日は git の最初のコミットではなくプッシュの日付である今日の日付になります。

bazaar.conf のオーバーライドと pre-revprop-change フックの変更を使用して、BZR->SVN のようにこれらの関心のあるプロパティをオーバーライドする方法はありますが、今回は Git 用ですか?

ありがとう。

4

1 に答える 1

3

git-svn を使用して作成者と日付を保持することはできません (また、それを使用して無視、匿名ブランチ、および複雑な履歴を保持することもできません)。

Git リポジトリを SVN に変換し、そのすべてを保持してSubGitプロジェクトを使用するには:

$ svnadmin create svn.repo

$ subgit configure svn.repo

$ #edit svn.repo/conf/subgit.conf ('git.default.repository' option) 
to set path to your bare Git repository (the repository you on the server
or you can prepare new bare repository
with "git clone --bare <Git URL> path/to/bare/git/repo")

$ #optionally prepare svn.repo/conf/authors.txt file
to configure custom authors mapping

$ subgit install

インストール後、SubGit は SVN リポジトリ svn.repo と Git リポジトリ パス/to/bare/git/repo を同期して同期を維持し、SVN へのコミットは Git コミットになり、その逆も同様です (同期はフックによって駆動され、同時に同期されます)。 -安全なので、引き続き Git を使用できます)。

継続的な同期の実行を停止するには

$ subgit uninstall svn.repo
于 2012-07-26T00:37:26.677 に答える