SVN:创建文件夹的转储文件

SVN:创建文件夹的转储文件,svn,Svn,我正在尝试在我的SVN存储库中创建文件夹的转储文件。(我的目标是将此转储导入另一个存储库,但那是另一回事) 我读了大约20页关于这个的书,他们都告诉我要用,但我似乎无法让它工作 这是我的命令: C:\>svnadmin dump d:/SvnData/TestingSVN/ | svndumpfilter include /TestingSVN/Trunk/Fms/ > d:\FMS.txt 命令行中的输出是一个奇怪的东西: Including prefixes: '/Tes

我正在尝试在我的SVN存储库中创建文件夹的转储文件。(我的目标是将此转储导入另一个存储库,但那是另一回事)

我读了大约20页关于这个的书,他们都告诉我要用,但我似乎无法让它工作

这是我的命令:

C:\>svnadmin dump d:/SvnData/TestingSVN/ | svndumpfilter include /TestingSVN/Trunk/Fms/ > d:\FMS.txt
命令行中的输出是一个奇怪的东西:

Including prefixes:
   '/TestingSVN/Trunk/Fms'
* Dumped revision 0.
Revision 0 com*m iDtutmepde da sr e0v.isi
n 1.
Revision 1 committed as 1.
* Dumped revision 2.
Revision 2 committed a*s  D2u.mpe
 revision 3.
Revisio*n  D3u mcpoemdm irtetveids iaosn  34..
Revision*  4D ucmopmemdi trteevdi saiso n4 .5.
Revision 5 com*m iDtutmepde da sr e5v.isi
n 6.
Revision 6 commi*t tDeudm paesd  6r.evi
ion 7.
Revisio*n  D7u mcpoemdm irtetveids iaosn  78..
Revision *8  Dcuommpmeidt treedv iassi o8n. 9.
Revision 9*  cDoummmpietdt erde vaiss i9o.n 1
.
Revisi*o nD u1m0p ecdo mrmeivtitseido na s1 11.0
.
Revision 11 *c oDmummiptetde dr eavsi s1i1o.n 1
.
Revision 12 committed*  aDsu m1p2e.d r
vision 13.
Revision 13 committ*e dD uamsp e1d3 .rev
sion 14.
Revision 14 commit*t eDdu mapse d1 4r.evi
ion 15.
Revision 15 committed as 15.
* Dumped revision 16.
Revision 16 committed as 16.
Dropped 83 nodes:
   '/Branches'
   '/Branches/305'
   '/Branches/305/New Text Document.txt'
   '/Fms'
   '/Fms/ADPropertySheet.cpp'

etc. for 83 nodes...
此外,转储文件本身只有3KB,不包含真实数据,只包含类似的内容(这不是完整的转储,只是一个示例)


这是如何解决的呢?

嘈杂的输出是因为您在控制台上看到管道中两个命令的stderr混合在一起。如果将其分为两个命令,则更有意义:

* Dumped revision 0.
* Dumped revision 1.
* Dumped revision 2.
...

Revision 0 committed as 0.
Revision 1 committed as 1.
Revision 2 committed as 2.
...
希望您能看到这些都被合并到上面的单个输出中


否则,命令的语法看起来很好。但在“/TestingSVN/Trunk/Fms”上是否确实有数据?我之所以问这个问题,是因为我在删除的节点中看到“/Fms”,这让我怀疑您的文件夹是否位于与您想象的不同的路径。您可能需要在工作副本上尝试“svn信息”以进行确认。我认为包含“中继/Fms”或可能仅包含“Fms”可能是合适的。

我修复了您的格式设置。使用四个空格缩进或
{}
按钮设置代码(或类代码)格式。@DarkJeff为您修改了格式。将来,您可以使用
{}
按钮来格式化代码块,就像我为您所做的那样。您总是可以批量复制存储库,然后删除不需要的文件夹。@Malfist这不是一个好的解决方案,因为这样做,它将保留存储库中所有更改的历史记录,即使我删除了不需要的文件夹。svndumpfilter过滤历史记录,只保留重要的历史记录,这就是为什么我要这样做。我不知道“svn信息”是什么,但当我在FMS文件夹的tortoise svn中打开存储库浏览器时,路径是:。所以这条路看起来还不错。。。我会继续尝试,因为我的方向似乎很好。我只尝试了Fms,它成功了。我真的不明白为什么svndumpfilter忽略了主干,但它起了作用!谢谢
* Dumped revision 0.
* Dumped revision 1.
* Dumped revision 2.
...

Revision 0 committed as 0.
Revision 1 committed as 1.
Revision 2 committed as 2.
...