SVNリポジトリを複数のgit reposに変換しようとしています。これまで私はをSVNの各プロジェクトに使用していました。私はgitがsvnコピー操作に従っていないように見えるので、結果の履歴は私が期待するよりもはるかに簡単です。私のSVNのレポはこのように見えたとしますgitに変換するときにsvnのコピー履歴を保持する
ルート
- B
- C
- 親-projの
- B
- C
b
とc
は最近、最終的にはルートの下に彼らの古い場所から削除することを意図して、リストラの一環としてparent-proj
の下にコピーされました。私がgit svn clone http://svnhost/parent-proj
を実行すると、移動前に/b
と/c
に由来するすべての履歴が欠落しています。
これはgit-svnの制限ですか、この履歴を私のレポに表示する方法はありますか?私の限られた研究から、Getting complete history of an SVN repo that's been renamed using git-svnに記載されているようなfilter-branch
コマンドを使用すると、私のケースでは恐らく事態を複雑にする複数の親が存在すると思われます。最初にリポジトリ全体を複製し、それから新しいリポジトリを分割することができました(フィルタブランチを使用して)?よりよいアプローチですか?
ディレクトリを移動しても、すべてのファイルの責任履歴が取得されています。そして、私の 'git svn clone 'は、クローンされているディレクトリの外のプロジェクト(どこから由来したものか)も追跡しました。 –
@ShadowCreeper:どのバージョンのGitを使っていましたか?私はPatrickと同じ問題を抱えています – Pylinux
私は彼らがどのバージョンでクローンされたのか分かりません。私はそれがもともとは1.7リリースだったと信じています(Debian wheezyの最新バージョンでは数ヶ月前です)。しかし、私は最近、v1.8.4を使って乱雑な履歴を持つプロジェクトの1つを再クローンし、同じ振る舞いをしました(いくつかのSHAは完全に異なるツリーです)。たぶん、SVNサーバーのバージョンがより重要ですか?私はそれがまだ1.7であると信じています。 –