Subversion - 将文件夹移动到另一个已存在的存储库

Tim*_*Tim 5 svn repository svndumpfilter svnadmin

我有以下SVN结构:

  • ExistingRepository1

    • ...
    • MyFolder文件
      • FolderToMove
      • ...
  • ExistingRepository2

    • ...
    • AnotherFolder
      • FolderToMove < - 移到这里
      • ...

所以我已经读过这个问题:如何将一个文件夹从一个Subversion存储库移动到另一个存储库? 但在我的情况下,ExistingRepository2已经存在.那我该怎么办呢?我希望在新项目中进行所有修订.

例如,我有修订号1000 ExistingRepository1 -> MyFolder -> FolderToMove,但是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
Run Code Online (Sandbox Code Playgroud)

提前感谢您的帮助,最诚挚的问候,蒂姆.

sha*_*tin 5

这里有人声称已经跨现有存储库移动了一个目录(有一些博客评论表明成功).显然它会在目标存储库中创建整个路径,但我想一旦目录在目标存储库中,您可以轻松地将其移动到您想要的位置(同时保持其历史记录).

[编辑]

我成功测试了这个.以下是我使用的命令:

svnadmin dump /path/to/source/repo | svndumpfilter --drop-empty-revs --renumber-revs include /folder/to/transfer/ > dumpfile
svnadmin load /path/to/destination/repo < dumpfile
Run Code Online (Sandbox Code Playgroud)

然后我移动了传输的文件(使用TortoiseSVN的Repo-browser).