合并多个SVN项目
我正在为一个项目管理一个svn repo,在这个项目中,源代码没有使用一个顶级目录导入。因此,大约有15个独立的“项目”,而不是一个。如何在维护更改历史记录的同时将它们合并到一个文件夹中 *提示:svn移动在这种情况下不起作用 [编辑]合并多个SVN项目,svn,version-control,svn-administraton,Svn,Version Control,Svn Administraton,我正在为一个项目管理一个svn repo,在这个项目中,源代码没有使用一个顶级目录导入。因此,大约有15个独立的“项目”,而不是一个。如何在维护更改历史记录的同时将它们合并到一个文件夹中 *提示:svn移动在这种情况下不起作用 [编辑] 哎呀,重复如果你不想保留其中一个存储库的所有历史记录,你可以在一个项目的存储库下创建一个新目录,然后导入另一个 如果您想保留两者的历史记录,那么可以使用“svnadmin dump”转储一个存储库,使用“svnadmin load”将其加载到另一个存储库中。修订
哎呀,重复如果你不想保留其中一个存储库的所有历史记录,你可以在一个项目的存储库下创建一个新目录,然后导入另一个 如果您想保留两者的历史记录,那么可以使用“svnadmin dump”转储一个存储库,使用“svnadmin load”将其加载到另一个存储库中。修订号将关闭,但您仍将保留历史记录
从这里复制:也许我对分布式版本控制锤做了太多的工作,现在我看到的都是分布式的钉子。但我必须再次指出,这可能是DVCSs的工作 我会尝试和git svn或类似的东西混在一起。将每个“项目”导入到它自己的git存储库中,然后git将它们从另一个项目中拉出来。解决任何冲突,并在一切完成后,将历史导入Subversion
但是,您的团队在完成合并所有回购协议之后,使用分布式控件可能会更好…您可以创建一个新的顶级项目,该项目使用svn:externals指向所有其他项目,并将它们放置在适当的子目录中
- 开发人员只需检查您的新顶级项目(svn将自动跟随svn:externals并引入其他项目)
- 完整的版本历史记录将被保留,新的更改将自动提交到相关的子项目
- 实施大约需要5分钟(创建新的顶级项目并运行
)svn propedit svn:externals top_dir