【发布时间】:2010-12-23 14:37:04
【问题描述】:
在我们的 git-svn 托管项目中,我们有 3 个上游项目都保存在 GitHub 上的本地 git 存储库中。由于这些上游项目的源代码在我们的控制之下并且经常更改,因此我们当前的解决方案,即每次更改时都将构建工件重新部署到超级项目中是相当麻烦的。
我想要的是这个:
parent project (git-svn):
--> submodule 1 (git)
--> submodule 2 (git)
--> submodule 3 (git)
这样,子模块 1-3 的源代码与超级项目的源代码一起编译,但我可以将更改单独推送到子模块。
问题是:当我在父项目上git svn dcommit 时会发生什么?这还能用吗?
更新 嗯,我只是设置了一个简单的项目结构,试图类似于这个场景,并且在尝试对超级项目进行 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 可以配置为发送新部署的电子邮件。
-
更新赏金以寻找最新的答案/解决方法。我认为这个问题的答案就是我要寻找的:Is git svn compatible with git subtree?
标签: git git-svn git-submodules