将存储库从 SVN 迁移到 GITLAB 时出现的问题
Problems when migrating a repository from SVN to GITLAB
我在 SVN 中有一个非常大的存储库,其结构如下:
http://mycompany.com/svn/something/
│
│
│
└───branches
│ │
│ └───MyProject_FIX
│ │ │
│ │ └(SOURCE CODE)
│ │
│ └───MyProject_Branch2
│ │ │
│ │ └(SOURCE CODE)
│ │
│ │
│ │
│ └───OtherProject_FIX
│ │
│ └(SOURCE CODE)
│
│
│
└───tags
│ │
│ └───MyProject
│ │ │
│ │ └1.0.0
| | | └(SOURCE CODE)
│ │ │
| │ └1.0.1
| │ | └(SOURCE CODE)
│ │ │
| │ └1.0.3
| │ | └(SOURCE CODE)
│ │ │
| │ (...)
│ │ │
│ │ └latest
│ │
│ └───OtherProject
│
└───trunk
|
└───MyProject
| |
| └─(SOURCE CODE)
|
└───OtherProject
|
└─(SOURCE CODE)
我几乎什么都试过了:
- git svn 克隆
- 这个脚本:https://github.com/JohnAlbin/git-svn-migrate
- github
中的导入选项
- 本教程来自 bitbucket:https://es.atlassian.com/git/tutorials/migrating-overview
- 此工具:https://github.com/nirvdrum/svn2git
我唯一认为我已经实现的是导入与提交相同的 SVN 存储库结构。
我想做的是将标签文件夹 intro 转换为真正的 git 标签,分支文件夹 intro 真正的分支并仅导入 MyProject(忽略 OtherProject)
最后不得不说的是资源库很大(不知道这个细节是否重要)
有什么简单的方法可以转换这个存储库吗?
提前致谢!
听起来您需要为 git svn 使用 trunk/branches/tags 命令行选项:
git svn clone --trunk=/trunk/MyProject --branches=/branches/MyProject_Branch2 --branches=/branches/MyProject_FIX --tags=/tags/MyProject http://mycompany.com/svn/something/ <dest repo>
这应该只拉出 MyProject。
请记住包含您的作者文件并放入 --prefix==
以确保将 svn 标签转换为真实标签的 atlassian 清理脚本正常工作。
我在 SVN 中有一个非常大的存储库,其结构如下:
http://mycompany.com/svn/something/
│
│
│
└───branches
│ │
│ └───MyProject_FIX
│ │ │
│ │ └(SOURCE CODE)
│ │
│ └───MyProject_Branch2
│ │ │
│ │ └(SOURCE CODE)
│ │
│ │
│ │
│ └───OtherProject_FIX
│ │
│ └(SOURCE CODE)
│
│
│
└───tags
│ │
│ └───MyProject
│ │ │
│ │ └1.0.0
| | | └(SOURCE CODE)
│ │ │
| │ └1.0.1
| │ | └(SOURCE CODE)
│ │ │
| │ └1.0.3
| │ | └(SOURCE CODE)
│ │ │
| │ (...)
│ │ │
│ │ └latest
│ │
│ └───OtherProject
│
└───trunk
|
└───MyProject
| |
| └─(SOURCE CODE)
|
└───OtherProject
|
└─(SOURCE CODE)
我几乎什么都试过了:
- git svn 克隆
- 这个脚本:https://github.com/JohnAlbin/git-svn-migrate
- github 中的导入选项
- 本教程来自 bitbucket:https://es.atlassian.com/git/tutorials/migrating-overview
- 此工具:https://github.com/nirvdrum/svn2git
我唯一认为我已经实现的是导入与提交相同的 SVN 存储库结构。
我想做的是将标签文件夹 intro 转换为真正的 git 标签,分支文件夹 intro 真正的分支并仅导入 MyProject(忽略 OtherProject)
最后不得不说的是资源库很大(不知道这个细节是否重要)
有什么简单的方法可以转换这个存储库吗?
提前致谢!
听起来您需要为 git svn 使用 trunk/branches/tags 命令行选项:
git svn clone --trunk=/trunk/MyProject --branches=/branches/MyProject_Branch2 --branches=/branches/MyProject_FIX --tags=/tags/MyProject http://mycompany.com/svn/something/ <dest repo>
这应该只拉出 MyProject。
请记住包含您的作者文件并放入 --prefix==
以确保将 svn 标签转换为真实标签的 atlassian 清理脚本正常工作。