問題
Subversionリポジトリからgit-svnで浅いコピーをどのように作成しますか?たとえば、最後の3つのリビジョンのみをプルするにはどうすればよいですか?
git clone
コマンドは、オプションを使用する場合のGitリポジトリから最後のn個のリビジョンを取得することができ--depth
、すなわちリポジトリの浅いコピーを取得します。例:
git clone --depth 3 git://some/repo myshallowcopyrepo
git-svnに同様のオプションはありますか?
これまでの私の発見
これまでのところ、プルするリビジョンは-rN
どこにあるのかを見つけましたN
。例:
git svn clone -rN svn://some/repo
ドキュメントによると、使用する可能性があります-r$REVNUMBER:HEAD
。エラーメッセージを返した最新の3つのリビジョンを取得するために、次のことを試みました。
$ git svn clone --prefix=svn/ -s -rHEAD~3:HEAD http://some/svn/repo .
revision argument: HEAD~3:HEAD not understood by git-svn
それでHEAD~3
、3番目で最後のリビジョン534の実際の番号に置き換えました。これは機能しましたが、最初に3番目で最後のコミットのリビジョン番号を知る必要があります。
$ git svn clone --prefix=svn/ -s -r534:HEAD http://some/svn/repo .
ドキュメンテーション
--depth
ためgit svn
のサポートがすでに存在するため、。そして、それはすでにサーバーから最新のリビジョンを見つける必要がありますか?
-s is for --stdlayout which presumes the svn recommended layout for tags, trunk, and branches.
(しかし、私のために動作しませんでした)