2010-11-22 11 views
3

大きなsvnリポジトリを私のgitリポジトリに複製しようとしています。 問題はrepです。大きすぎるとsvnクローンの動作が遅すぎる。 最後のNリビジョンだけをクローンする方法はありますか?そのようなgit svnを使用すると、最後の100個のリビジョンをgitリポジトリにインポートできますか?

何か:

git svn clone http://svn/svn/test . (from 200 to 400 revision) 

または多分そのような何か:

git svn fetch (20,30,40-50 revisions) 
+0

可能な複製を(のhttp: //stackoverflow.com/questions/747075/how-to-git-svn-clone-the-last-n-revisions-from-a-subversion-repository) –

答えて

7

それはgitのレポだったら、あなたは

git svn clone (url) --depth (N) 

でしたが、それはGitのとは異なり、「Nリビジョンバック」のリビジョン番号を見つけるためにSVNで非自明です。

したがって、自分でSVNのリビジョン番号を指定する必要があります。

アレックスは正しい構文を提供しています。

git svn clone -s -r534:HEAD http://some/svn/repo 

しかし、それは覚えているし、次の操作を行うためにあなたの頭の上に簡単です:[?Subversionリポジトリからの最後のn個のリビジョンをする方法はgit-svnのクローン]の

# checkout a specific revision 
git svn clone -r N svn://some/repo/branch/some-branch 
# enter it and get all commits since revision 'N' 
cd some-branch 
git svn rebase 
+0

以前のリビジョンを私の担当者に追加してもいいですか? (リポジトリが既に存在する場合) – Astronavigator

+0

なぜプレフィックスが必要ですか? – Astronavigator

+0

この場合、私はgitリポジトリにすべてのsvnブランチを持つことができますか? – Astronavigator

2

あなたは-rスイッチ付きであなたのクローンを開始したいSVNのリビジョン番号を指定します。 -r$REV:HEAD。このような

何か:$REVはあなたがでクローンを開始したいリビジョン番号です

git svn clone --prefix=svn/ -s -r$REV:HEAD path/to/repo 

関連する問題