0

我在我的项目中有一个依赖作为子存储库(没有写访问权限)。我想向该子存储库添加一些个人定制 - 可能使用 mq.

我也希望能够克隆主仓库来构建它。目前我必须:

  1. 克隆 repo - 子存储库被自动克隆
  2. 手动克隆子存储库的所有补丁队列

如何摆脱第 2 步?没有外部脚本甚至可能吗?(如果有任何区别,我正在使用 bitbucket)。

4

1 回答 1

0

一个想法是使子存储库不是您没有写入权限的存储库,而是基于它们的存储库的您自己的克隆。

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 pullhg merge更新到您的自定义项中。

于 2012-08-27T01:02:46.353 回答