多个svn项目进入一个git存储库?

7 git-svn

我已经开始使用git-svn来完成我的一些工作,以便能够进行本地提交.这适用于使用标准svn布局的项目.最近我开始研究一个分成多个连接模块(20-25)的Java项目,每个模块在同一个svn repo中有自己的根文件夹,有自己的trunk/branches/tags.

svnrepo/    
  module-1
    trunk
    branches
    tags
  module-N
    trunk
    branches
    tags
Run Code Online (Sandbox Code Playgroud)

我用git svn clone -s/path/to/svnrepo/module [1-N]克隆了每个模块."问题"是,当我想在所有模块上执行git svn rebase时,我必须做N次.

我试过做git svn clone/path/to/svnrepo /做了N次的rebase操作,但这给了我一个与svn repo相同的目录布局.

有没有办法可以在一个git仓库中跟踪所有模块的所有中继?这样我就可以在我的git存储库中获得这样的目录布局:

module-1
module-2
module-N
Run Code Online (Sandbox Code Playgroud)

Dan*_*ing 2

不幸的是,没有,没有办法做到这一点。一个问题是没有什么可以阻止两个或多个模块拥有同名的分支。那么,在 git-svn 中,当你给它分支名称时,它如何知道你正在谈论哪个模块?

这个问题实际上源于这样一个事实:在 Subversion 中分支不是一流的概念,而在 git 中却是。git-svn 能够或多或少地使用拼凑来解决这个问题,但是如果存储库具有“非标准”布局(例如您正在使用的布局),拼凑就会崩溃。

我的建议:为git-svn rebase他们所有人写一个脚本。

  • 我认为他的布局是标准的。 (2认同)