在我们的git-svn托管项目中,我们有3个上游项目都保存在GitHub上的本地git存储库中。由于这些上游项目的源代码是在我们的控制之下并且经常发生变化,因此我们目前的解决方案,即每次我们改变某些东西时,将构建工件重新部署到超级项目中都非常麻烦。在git-svn项目中使用git子模块
我想有是这样的:
parent project (git-svn):
--> submodule 1 (git)
--> submodule 2 (git)
--> submodule 3 (git)
这样一来,对于1-3的子模块的源代码与源为超级项目一起编译,但是我可以把更改子模块分别。
现在的问题是:当父项目上我git svn dcommit
会发生什么?这甚至工作吗?
UPDATE 嗯,我只是成立了一个简单的项目结构,试图像这种情况下,我收到试图dcommit在上层项目时,此错误消息:
a0301b11f3544a1e71067ff270eded65e4c8afbd doesn't exist in the repository at /opt/local/libexec/git-core/git-svn line 4775
Failed to read object a0301b11f3544a1e71067ff270eded65e4c8afbd at /opt/local/libexec/git-core/git-svn line 574
任何意见/建议?
在我们的世界中,我们使用Hudson来构建子模块并将其部署到本地存储库,例如Artifactory。 Maven被配置为抓取SNAPSHOT版本,因此他们每天都会重新部署,或者每当我们使用-U创建时。 Hudson可以配置为发送电子邮件进行新的部署。 – OleTraveler 2011-04-06 22:57:28
更新重新寻找最新答案/解决方法。我认为这个问题的答案是我所寻找的:[是git svn兼容git子树?](http://stackoverflow.com/questions/13447705/is-git-svn-compatible-with-git-子树) – 2013-03-21 11:53:25