将我的存储库视为SVN存储库,我得到:
svn co http://myrepo/foo/trunk foo ... foo/ bar/ baz/ -> http://myrepo/baz/trunk
把它作为Git回购处理,我得到:
git svn clone http://myrepo/foo --trunk=trunk --branches=branches --tags=tags ... foo/ bar/
我可以将baz克隆到其他地方的本地机器并添加一个符号链接,但这只是一个黑客攻击.有没有办法git svn rebase
在更新其他所有内容时自动提取这些更改,就像这样svn up
做?
将svn externals与我见过的git-svn集成的最佳方法就是这个脚本,它将你的外部代码克隆到.git_externals /目录中,并创建符号链接并排除你需要的文件.我发现这是一个简单而直接的解决方案.因人而异.
以下是使用git-svn处理svn外部的其他选项的旧概述.对我来说,他们看起来有点过于复杂,并且在随后的Git使用中可能会中断.
我最终使用的解决方案只是符号链接到git-svn
我本地盒子上的其他克隆.这非常有效:它允许我提交更改,它允许我对项目A进行本地更改,只是为了让它们进入项目B.