【发布时间】:2010-10-19 07:48:10
【问题描述】:
问题
如何使用 git-svn 从 Subversion 存储库创建浅拷贝,例如你如何只提取最后三个修订版?
如果您使用选项--depth,git clone 命令可以从 Git 存储库中获取最后 n 个修订,即您获得存储库的浅表副本。示例:
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 替换为第三个但最后一个修订版 534 的实际编号。这可行,但这需要我首先找出第三个但最后一个提交的修订版号。
$ git svn clone --prefix=svn/ -s -r534:HEAD http://some/svn/repo .
文档
【问题讨论】:
-
回答我自己的问题:
-s is for --stdlayout which presumes the svn recommended layout for tags, trunk, and branches.(但对我不起作用) -
为
git svn实施--depth有多难,因为支持已经存在。它已经必须从服务器中找出最新的版本?
标签: git svn git-svn git-clone svn-checkout