我已经开始使用 git-svn 来完成我的一些工作,以便能够进行本地提交。这对于使用标准 svn 布局的项目非常有用。最近,我开始开发一个 Java 项目,该项目分为多个连接的模块(20-25),每个模块在同一个 svn 存储库中都有自己的根文件夹,并有自己的主干/分支/标签。
svnrepo/
module-1
trunk
branches
tags
module-N
trunk
branches
tags
我已经使用 git svn clone -s /path/to/svnrepo/module[1-N] 克隆了每个模块。 “问题”是,当我想对所有模块执行 git svn rebase 时,我必须执行 N 次。
我尝试过 git svn clone /path/to/svnrepo/ 避免执行 N 次 rebase 操作,但这给我留下了与 svn 存储库中相同的目录布局。
有没有一种方法可以跟踪一个 git 存储库中所有模块的所有主干?这样我就可以在 git 存储库中得到这样的目录布局:
module-1
module-2
module-N
不幸的是,没有,没有办法做到这一点。一个问题是没有什么可以阻止两个或多个模块拥有同名的分支。那么,在 git-svn 中,当你给它分支名称时,它如何知道你正在谈论哪个模块?
这个问题实际上源于这样一个事实:在 Subversion 中分支不是一流的概念,而在 git 中却是。 git-svn 能够或多或少地使用拼凑来解决这个问题,但是如果存储库具有“非标准”布局(例如您正在使用的布局),拼凑就会崩溃。
我的建议:写一个脚本git-svn rebase
商场。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)