我有以下SVN结构:
ExistingRepository1
ExistingRepository2
所以我已经读过这个问题:How do I move a single folder from one Subversion repository to another repository? 但在我的情况下,ExistingRepository2已经存在。 那我该怎么办呢?我希望在新项目中进行所有修订。
我在ExistingRepository1 -> MyFolder -> FolderToMove
中有修订号1000,但在ExistingRepository1
中已经有一个编号为1000的修订版。那么,svn load
会做什么?它会自动移动修订号吗?
这些是命令:
svnadmin dump /svn/ExistingRepository1 > ./repository.dump
svndumpfilter include MyFolder/FolderToMove --drop-empty-revs --renumber-revs --preserve-revprops < ./repository.dump > ./folderToMove_only.dump
svnadmin load /svn/ExistingRepository2 < ./folderToMove_only.dump
提前感谢您的帮助,最诚挚的问候,蒂姆。
答案 0 :(得分:5)
Here是声称已在现有存储库中移动目录的人(有一些博客评论表明成功)。显然它会在目标存储库中创建整个路径,但我想一旦目录在目标存储库中,您可以轻松地将其移动到您想要的位置(同时保持其历史记录)。
<强> [编辑] 强>
我成功测试了这个。以下是我使用的命令:
svnadmin dump /path/to/source/repo | svndumpfilter --drop-empty-revs --renumber-revs include /folder/to/transfer/ > dumpfile
svnadmin load /path/to/destination/repo < dumpfile
然后我移动了传输的文件(使用TortoiseSVN的Repo-browser)。