我们有一个企业 SVN 存储库,其中托管了许多项目,每个项目都有自己的分支/主干/标签。我的团队只对 2 个项目感兴趣。
所以我使用创建了 2 个转储文件svnrdump
。现在我正在尝试将它们加载到我的本地 SVN 中。但我想保留修订号。当我加载第一个项目时,修订号是正确的。但是当我加载第二个项目时,修订号会在第一个项目结束的地方恢复。当我尝试使用svnrdump
和使用svnadmin
.
有没有办法为 2 个选定的项目创建一个转储文件?
我们有一个企业 SVN 存储库,其中托管了许多项目,每个项目都有自己的分支/主干/标签。我的团队只对 2 个项目感兴趣。
所以我使用创建了 2 个转储文件svnrdump
。现在我正在尝试将它们加载到我的本地 SVN 中。但我想保留修订号。当我加载第一个项目时,修订号是正确的。但是当我加载第二个项目时,修订号会在第一个项目结束的地方恢复。当我尝试使用svnrdump
和使用svnadmin
.
有没有办法为 2 个选定的项目创建一个转储文件?
svnadmin dump
与--include
or参数一起使用--pattern
以生成一个保留修订号的存储库转储流。
例如,该命令应如下所示:
svnadmin dump MYREPO --include /project1 --include /project2 --file myrepodumpfile.svndump
这是svnadmin help dump
帮助的一部分:
--exclude ARG : filter out nodes with given prefix(es) from dump
--include ARG : filter out nodes without given prefix(es) from dump
--pattern : treat the path prefixes as file glob patterns.
Glob special characters are '*' '?' '[]' and '\'.
Character '/' is not treated specially, so
pattern /*/foo matches paths /a/foo and /a/b/foo.
pattern /*/foo matches paths /a/foo and /a/b/foo.
svnadmin dump
顺便说一句,您可以通过添加-M 256
参数来提高性能。 :
-M [--memory-cache-size] ARG : size of the extra in-memory cache in MB used to
minimize redundant operations. Default: 16.
[used for FSFS repositories only]