我在我的项目中有一个依赖作为子存储库(没有写访问权限)。我想向该子存储库添加一些个人定制 - 可能使用 mq.
我也希望能够克隆主仓库来构建它。目前我必须:
- 克隆 repo - 子存储库被自动克隆
- 手动克隆子存储库的所有补丁队列
如何摆脱第 2 步?没有外部脚本甚至可能吗?(如果有任何区别,我正在使用 bitbucket)。
我在我的项目中有一个依赖作为子存储库(没有写访问权限)。我想向该子存储库添加一些个人定制 - 可能使用 mq.
我也希望能够克隆主仓库来构建它。目前我必须:
如何摆脱第 2 步?没有外部脚本甚至可能吗?(如果有任何区别,我正在使用 bitbucket)。
一个想法是使子存储库不是您没有写入权限的存储库,而是基于它们的存储库的您自己的克隆。
cd myclones hg clone http://notmydomain.com/their-repo my-clone-of-their-repo
在您的项目中,.hg/hgrc
您使用一个[subpaths]
部分将他们的 URL 映射到您的本地克隆:
[subpaths]
http://notmydomain.com/their-repo = ../my-clone-of-their-repo
然后,您最终使用您的仓库的本地(读写)克隆来获得您的仓库,否则您将拥有只读访问权限。这有几个好处:
myproject/their-repo
并提交和推送(到您的本地克隆)当您想要合并他们的上游更改时,您只需进入 ../my-clone-of-their-repo 并将hg pull
其hg merge
更新到您的自定义项中。