我有一个具有此文件结构的SVN存储库:
|---trunk
| |---project1
| |---project2
| |---project3
|
|--branches
| |---1.1
| |---project1
| |---project2
| |---project3
| |---1.2
| |---project1
| |---project2
| |---project3
|--tags
| |---1.1
| |---project1
| |---project2
| |---project3
| |---1.2
| |---project1
| |---project2
| |---project3
我想将所有内容迁移到Git(保留历史记录),以便之后我有3个git项目:project1,project2和project3。
为了做到这一点,我认为为每个项目创建一个新的存储库然后将每个存储库迁移到Git是个好主意。
我在网上搜索但是我找不到这个文件结构的解决方案。我应该使用SVN过滤器还是什么? (我对SVN知之甚少。)
答案 0 :(得分:1)
虽然可以使用SVN拆分存储库,但使用git更容易实现这一点,git在重写和重新组织历史时更加灵活。如果您仍然坚持,请参阅以下内容: - )。
所以我的建议是:
如果你必须使用Subversion进行拆分,我看到的唯一现实选择是使用svnadmin dump
和svndumpfilter
。
基本上,您将整个存储库转储到一个文件(需要管理员访问SVN服务器),然后修改该转储文件并从中创建新的SVN存储库。拆分(例如)在“版本控制与Subversion”一书中解释,章节Repository Maintenance - 特别是“过滤存储库历史”小节。
有关拆分+迁移的详细说明,请参阅CollabNet的示例Migrating Subversion Repositories to Git – The definitive Guide for TeamForge Users(具有讽刺意味的是,创建Subversion项目的公司)。