安装SubGit存储库时跳过修订

时间:2013-09-20 13:37:19

标签: git svn subgit

我正在使用SubGit来克隆SVN存储库。修订版的某处是某个标记的“/”副本。当SubGit加载每个修订版时,需要很长时间才能获得此特定标记,这恰好是“/”的副本。这样可以防止复制。

我已尝试设置minimalRevision,但我需要在“/”副本之前和之后进行修订。 SubGit能够在此之前进行修订或在此之后进行修订,但不是所有修订版本,也不包括此特定修订版本。

安装SubGit存储库时是否有办法排除某些SVN修订版?

我没有SVN服务器的管理员权限才能删除此修订版。

2 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,这是我如何跳过一些修订。我正在使用SubGit 3.2.4。

  1. 运行subgit import
  2. 遇到需要很长时间的修订时,请按Ctrl + C停止导入。
  3. <GIT_REPO>/svn/.metadata打开文本文件,其中<GIT_REPO>是导入的Git存储库的路径。
  4. 将设置branches-maxRevtags-maxRev修改为要跳过的最大顺序修订号。例如,如果branches-maxRevtags-maxRev的值为17761,并且您要跳过修订版1776217763,请将值更改为{{1} }。
  5. 再次运行17763以继续导入。

答案 1 :(得分:0)

从我所看到的,没有办法从SubGit中排除修订。但是,可能有一种不同的方法可以避免在导入中包含“所有内容的副本”。如果您知道副本的svn路径是什么,例如tags/tag-of-root,您可以通过将其添加到<git-project>/subgit/config文件中来排除此问题:

excludeBranches = tags/tag-of-root

这意味着标签将被排除。唯一的缺点是,如果以后使用相同的标签创建了正确的标签,则此标签将被排除。但是,它仍然是我发现的最佳选择,因为VCD添加的解决方案对我不起作用。

到目前为止,我不得不中断并重启(从头开始)我的导入四次,每次添加另一个excludeBranches配置行,但导入也是 a 批次每次都快!

编辑:我认为VCD建议的解决方法对我不起作用的原因是破坏标签及其删除的创建不是连续修订,而是几天和许多修订之间。因此,我不可能一次跳过破坏标记的创建和删除,导致删除引用尚未添加的标记(如果我排除创建)的不一致。