3

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

我尝试设置一个最小修订,但我需要在“/”副本之前和之后进行修订。SubGit 能够获得之前的修订版或之后的修订版,但不是所有的修订版并且不包括这个特定的修订版。

有没有办法在安装 SubGit 存储库时排除某些 SVN 修订?

我没有对 SVN 服务器的管理员访问权限以删除此修订。

4

2 回答 2

2

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

  1. 运行subgit import
  2. 当遇到需要较长时间的修订时,按Ctrl+C停止导入。
  3. 在 处打开文本文件<GIT_REPO>/svn/.metadata,其中<GIT_REPO>是导入的 Git 存储库的路径。
  4. 修改设置branches-maxRevtags-maxRev修改为要跳过的最大连续修订号。例如,如果 和 的值是branches-maxRev并且您想跳过修订和,则将值更改为。tags-maxRev17761177621776317763
  5. 再次运行subgit import以恢复导入。
于 2017-02-28T04:26:29.450 回答
0

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

excludeBranches = tags/tag-of-root

这意味着该标签将被排除。唯一的缺点是,如果后来创建了一个正确的标签,现在也一样,这个标签将被排除在外。但是,它仍然是我找到的最佳选择,因为 VCD 添加的解决方案对我不起作用。

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

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

于 2017-09-11T10:54:15.760 回答