标题说明了一切 :)
我想要的是从一个项目中转储一个文件夹并将其存储到另一个项目中。两个文件夹(src:proj1/trunk/supplies,dest:extlibs/trunk)都在同一个存储库中。我的问题是,当我加载“正常”转储文件时,前一个文件夹的路径被保留并将在新位置(extlibs/trunk/proj1/trunk/supplies)重新创建。所以我尝试使用win7 powershell手动更改路径:
svnrdump dump https://localghost/svn/test_repo/proj1/trunk/supplies | \
% {$_ -replace "Node-path: proj1", "Node-path: extlibs"} | \
% {$_ -replace "Node-path: extlibs/trunk/supplies", "Node-path: extlibs/trunk"}|\
Out-File foo.dmp
或者,我也使用了这个命令行:
svnadmin dump <local svn dir> | svndumpfilter include proj1/trunk/supplies | \
% {$_ -replace "Node-path: proj1", "Node-path: extlibs"} | \
% {$_ -replace "Node-path: extlibs/trunk/supplies","Node-path: extlibs/trunk}|\
Out-File foo.dmp
但是,当我使用 svnadmin load 或 svnrdump load 上传路径修改的转储文件时,我收到“格式错误的转储文件头”错误。如果我手动更改路径,我会收到 MD5 校验和错误。我真的很困惑如何更改 powershell 的输出以使转储负载工作。我试过了
.. | Out-File -Enc UTF foo.dmp
.. | Out-File -Enc ASCII foo.dmp
你们中有人知道如何更改转储文件的文件夹路径吗?我的方法是正确的还是有更好的方法来更改 repo 路径?
我知道那里有一些工具,但我现在不能使用它们。为了更深入地了解,我必须“手动”执行此操作,但似乎我想得太复杂了。
感谢您的帮助和时间。我希望你们中的一个人知道如何解决这个问题。
最佳答案
svndumpfilter
倾倒后--parent-dir
svnadmin load
中的选项阅读此处,关于 SO,主题 SVN: how to merge tags from separate projects和(链接答案)Using svndumpfilter to extract a folder in it's own repository博文
关于svn转储->通过Windows Powershell重命名路径->与格式错误的转储文件头作斗争,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23613782/