我正在为一个项目管理一个svn repo,其中源没有使用单个顶级目录导入。结果,大约有15个独立的“项目”而不是一个。如何在保持更改历史记录的同时将这些文件合并到一个文件夹中?
*提示:在这种情况下,svn move不起作用。
的欺骗答案 0 :(得分:2)
如果您不关心保留其中一个存储库的所有历史记录,您只需在一个项目的存储库下创建一个新目录,然后导入另一个。
如果您关心保留两者的历史记录,那么您可以使用'svnadmin dump'转储一个存储库,并使用'svnadmin load'将其加载到另一个存储库中。修订号将关闭,但您仍将拥有历史记录。
答案 1 :(得分:2)
也许我已经使用分布式版本控制锤进行了太多工作,而且我在这一点上看到的只是分布式指甲。但我再一次不得不说这可能是DVCS的一项工作。
我会尝试使用git-svn或类似的东西。将每个“项目”导入到自己的git存储库中,然后将它们彼此拉出来。解决所有冲突,并在完成所有操作后,将历史记录重新导入Subversion。
但是,在你完成合并所有回购后,你的团队可能会更好地使用分布式控件......
答案 2 :(得分:0)
您可以创建一个新的顶级项目,该项目使用svn:externals指向所有其他项目并将它们放在适当的子目录中。
svn propedit svn:externals top_dir
)大约需要5分钟。