如何在 Windows 10 中通过 CMD 转储 svn 中的一系列修订版

问题描述 投票:0回答:2

我正在尝试为 svn 存储库创建数百个单独的转储文件。到目前为止,我可以使用此命令来为特定修订创建一个转储文件。

svnrdump dump https://somesite.com/svn/project -r 1111 --incremental > Project_rev1111.dump

但是,这对于手动创建许多修订是不可行的。我知道我可以这样:

svnrdump dump https://somesite.com/svn/project -r 1111:1114 --incremental > Project_rev1111.dump

cmd 提示符中会显示:

* Dumped revision 1111.
* Dumped revision 1112.
* Dumped revision 1113.
* Dumped revision 1114.

所以看起来它转储了指定范围内的所有文件,但只创建了文件“Project_rev1111.dump”

有没有办法通过修改命令将每个修订版本单独“管道”到各自对应的文件中,以便创建 4 个文件而不是 1 个?

svn cmd windows-10 tortoisesvn
2个回答
2
投票

您必须使用

for
循环 才能为每个适用的修订版本单独运行
svnrdump
命令:

for %R in (1111 1112 1113 1114) do svnrdump dump https://somesite.com/svn/project -r %R --incremental > Project_rev%R.dump

如果您有连续范围的修订,您可以使用

for /L
循环 来代替:

for /L %R in (1111,1,1114) do svnrdump dump https://somesite.com/svn/project -r %R --incremental > Project_rev%R.dump

0
投票

我不知道自从OP发布他们的问题后是否添加了此功能,但问题中的代码对我有用(svnrdump版本1.14.0):

svnrdump dump https://somesite.com/svn/project -r 1111:1114 --incremental > Project_rev1111.dump

并且您可以使用

HEAD
指定直至当前修订版的范围:

svnrdump dump https://somesite.com/svn/project -r 1111:HEAD --incremental > Project_rev1111.dump

我的

svnrdump
版本似乎不允许使用日期显然适用于svnadmin dump

svnadmin dump /path/to/repo/ -r {2011-05-20}:HEAD > /path/to/dumpfile

但也许有一天会添加该功能,因此值得检查。

© www.soinside.com 2019 - 2024. All rights reserved.