没有写访问权限的subrepo上的Mq

时间:2012-08-26 11:01:02

标签: mercurial bitbucket mercurial-subrepos mercurial-queue

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

我也希望能够克隆主要的回购来构建它。目前我必须:

  1. 克隆回购 - 自动克隆子库
  2. 手动克隆子库的所有补丁队列
  3. 如何摆脱第2步?没有外部脚本甚至可能吗? (如果它有任何区别,我正在使用bitbucket。)

1 个答案:

答案 0 :(得分:0)

一个想法是让subrepo不是你没有写访问权限的repo,而是根据他们的repo克隆自己的repo。

cd myclones hg clone http://notmydomain.com/their-repo my-clone-of-their-repo

在您的项目.hg/hgrc中,您使用[subpaths]部分将其网址映射到您的本地克隆:

[subpaths]
http://notmydomain.com/their-repo = ../my-clone-of-their-repo

然后,您最终使用您的repo的本地(读写)克隆来使用您的repo,否则您将拥有只读访问权限。这有一些好处:

  • 更快 - 您只需检查所有操作的本地存储库
  • 可写 - 您可以在myproject/their-repo中编辑directoy并提交并推送(到您的本地克隆)

当您想要合并其上游更改时,您只需进入../my-clone-of-their-repo并将hg pullhg merge更新到您的自定义项中。