SVN 到 Git 迁移 - 使用一个主干与多个项目
SVN to Git Migration - Using one trunk with multiple projects
我有一个具有以下结构的 SVN 存储库,我对 20 多个项目中的七个感兴趣。
- 分支机构
- 项目 1
- 项目 2
- 项目 3
- 项目 4
- 项目...
- 版本
- 项目 1
- 项目 3
- 项目...
- 标签
- 项目 1
- 项目 2
- 项目 3
- 项目 4
- 项目 5
- 项目 6
- 项目 7
- 项目...
- 后备箱
- 项目 1
- 项目 2
- 项目 3
- 项目 4
- 项目 5
- 项目 6
- 项目 7
- 项目...
我已尝试关注 the migration guide from Bitbucket 以及通过其他帖子找到的补充内容。无论我尝试以下哪个命令,我最终都会得到一个空的 .git 存储库。
我如何才能使用 git svn 将一个项目放入 git 存储库?
尝试过的命令
git svn clone –std-layout –authors-file=authors.txt http://{companyURL}/{teamName}/trunk/Project4 Project4
git svn clone –trunk=/trunk –branches=/branches –tags=/tags –authors-file=authors.txt http://{companyURL}/{teamName}/trunk/Project4 Project4
git svn clone –trunk=/trunk –branches=/branches –tags=/tags –authors-file=authors.txt http://{companyURL}/{teamName}/trunk/Project4 Project4 --no-minimize-url
git svn clone –trunk=/trunk/NemloginIntegration –branches=/branches/NemloginIntegration –tags=/tags/NemloginIntegration –authors-file=authors.txt http://{companyURL}/{teamName}/trunk/Project4 Project4
我最终按照 Dan Santos 的指南进行操作:Migrating-subversion-to-git
使用上述场景的示例:
git svn clone --prefix="" --trunk=/trunk/project4/ --branches=/branches/project4 --tags=/tags/project4 --authors-file=authors.txt http://{companyURL}/{teamName} Project4AsGit --no-minimize-url
这里的不同之处在于 URL 我用于 Repo 的仍然是父级别,只有分支、标签和主干被下钻到正确的位置。 --no-minimize-url 确保 git 不会远离这些钻取的 URLs.
Dan 提到的下一件事是使用“--prefix=""',因为这将使下面的 clean-git 命令按预期工作。我确实尝试过,但最终我没有让 SVN 标签变成 git 标签。
java -Dfile.encoding=utf-8 -jar svn-migration-scripts.jar clean-git
我有一个具有以下结构的 SVN 存储库,我对 20 多个项目中的七个感兴趣。
- 分支机构
- 项目 1
- 项目 2
- 项目 3
- 项目 4
- 项目...
- 版本
- 项目 1
- 项目 3
- 项目...
- 标签
- 项目 1
- 项目 2
- 项目 3
- 项目 4
- 项目 5
- 项目 6
- 项目 7
- 项目...
- 后备箱
- 项目 1
- 项目 2
- 项目 3
- 项目 4
- 项目 5
- 项目 6
- 项目 7
- 项目...
我已尝试关注 the migration guide from Bitbucket 以及通过其他帖子找到的补充内容。无论我尝试以下哪个命令,我最终都会得到一个空的 .git 存储库。
我如何才能使用 git svn 将一个项目放入 git 存储库?
尝试过的命令
git svn clone –std-layout –authors-file=authors.txt http://{companyURL}/{teamName}/trunk/Project4 Project4
git svn clone –trunk=/trunk –branches=/branches –tags=/tags –authors-file=authors.txt http://{companyURL}/{teamName}/trunk/Project4 Project4
git svn clone –trunk=/trunk –branches=/branches –tags=/tags –authors-file=authors.txt http://{companyURL}/{teamName}/trunk/Project4 Project4 --no-minimize-url
git svn clone –trunk=/trunk/NemloginIntegration –branches=/branches/NemloginIntegration –tags=/tags/NemloginIntegration –authors-file=authors.txt http://{companyURL}/{teamName}/trunk/Project4 Project4
我最终按照 Dan Santos 的指南进行操作:Migrating-subversion-to-git
使用上述场景的示例:
git svn clone --prefix="" --trunk=/trunk/project4/ --branches=/branches/project4 --tags=/tags/project4 --authors-file=authors.txt http://{companyURL}/{teamName} Project4AsGit --no-minimize-url
这里的不同之处在于 URL 我用于 Repo 的仍然是父级别,只有分支、标签和主干被下钻到正确的位置。 --no-minimize-url 确保 git 不会远离这些钻取的 URLs.
Dan 提到的下一件事是使用“--prefix=""',因为这将使下面的 clean-git 命令按预期工作。我确实尝试过,但最终我没有让 SVN 标签变成 git 标签。
java -Dfile.encoding=utf-8 -jar svn-migration-scripts.jar clean-git