--stdlayoutは、 は私に何かを与えることなくGitの-のsvnクローンからの回復次のようなものです:私は誤って--stdlayout引数を追加することなく、Subversionリポジトリをクローン化してきました
branches/*
tags/*
trunk/*
これから回復する方法はありますか?
--stdlayoutは、 は私に何かを与えることなくGitの-のsvnクローンからの回復次のようなものです:私は誤って--stdlayout引数を追加することなく、Subversionリポジトリをクローン化してきました
branches/*
tags/*
trunk/*
これから回復する方法はありますか?
現在のところ、SVNとの相互運用性を維持する唯一のオプションは新鮮なスタートだと思われます。
これは依存しています:あなたは今後Subversionと相互運用できるようにしたいですか?
もしそうでなければ、branches
の各ブランチに対して手動でgitブランチを作成し、そのブランチディレクトリの内容を最上位レベルに移動することを検討してください。それはあなたに仕事をコミットし、gitの名前の変更は履歴を見ても合理的にうまくいくことを意味するはずです。タグが必要な場合は、同様にタグごとにブランチを作成し、タグ付けしてからブランチを削除します。
これはきれいではありませんが、実行可能である必要があります。
を使って、作成した各ブランチの履歴を、書き直したのと同じ方法で書き直すことができます。これは正しい見た目のリポジトリを残すはずです。しかし、あなたはまだSubversionの統合を得ることはできません。元の分岐点をどう扱うかを考えなければなりません。
git svn
がメタデータを格納し、それに応じてリポジトリを(恐らく再びgit filter-branch
を使用して)どのように変換すればよいのでしょうか?すべてのデータがそこにあるはずです:)。
git-svnはメタデータをコミットメッセージの 'git-svn-id'行と' .git/svn/* /。rev_map'ファイルの2つの場所に格納します。 .. 'rev_map'を削除した場合、それは' git-svn-id' –
これは正確な答えではありませんが、私がしたことは最後のいくつかのコミットを指定するために-r
フラグを追加することでした。なぜなら、とにかく1年前にコミットしたくないからです。
git svn clone --prefix=svn/ -s -r12000:HEAD http://some/svn/repo
これは、この場合には、12000は、それは私が本当にやりたいこと私は-s
フラグを逃した後、私の正気を保つために許可されなかった、あなたが戻って行きたい何回転数を知ることが必要です最初は妥当な時間内に
から再生されますが、もっとも簡単なオプションです。 git-svn-id行を書き換えてrev_mapを削除すると、git-svnがそれらを再構築できます。 –