编辑:这个已经解决了。然而,在这里真正帮助我的是工具svnsanitizer。基本上,代码严重错位,依赖关系遍布整个存储库。该工具将完整的 SVN 转储作为文件(不要管道它!)并清理所有链接的文件夹,导致一堆文件夹完成分支。我真的不知道为什么我的用户在一个分支中有超过 2000 个移动的文件夹......但是,这就是生活。
总之,结案了。我猜总比没有好。希望这可以帮助任何在类似情况下苦苦挣扎的人!
这对我来说是一个令人头疼的问题,因为我几乎不使用 SVN:
我必须从一个由 Teamforge 实例管理的相当大的 SVN 存储库中转储一个分支(SVN 部分似乎相当标准)。完整转储工作正常,但过滤掉想要的分支失败,因为转储文件中没有内容。我尝试的任何分支都失败了。但是,当我通过 Web 界面、代码文件和所有内容浏览存储库时,其中肯定有代码。
这些是我使用的命令:
svnadmin dump /svnroot/foo > big-svn.dump
svndumpfilter include /branch/foo --drop-empty-revs --renumber-revs < big-svn.dump > foo.dump
foo.dump 的大小始终为 195 字节,包含如下内容:
SVN-fs-dump-format-version: 2
UUID: some-generic-UUID-stuff
Revision-number: 0
Prop-content-length: 56
Content-length: 56
K 8
svn:date
V 27
2013-01-29T13:00:15.018082Z
PROPS-END
到目前为止我试图解决这个问题但没有成功的事情:
- 更改参数和选项,删除选项,使用 --patterns
- 更改过滤路径,例如命中和未命中
- 转储一个不同的分支作为测试,也是空的
- 使用 svndumpfilter2 和 3
- grep 在路径的大转储上,它返回一些结果,但它出现的行周围没有代码。
如果没有这个相当大的存储库的整个其余部分,我如何转储这个特定的分支?