使用mercurial中的子存储库来"共享代码"

her*_*ing 2 mercurial subrepos

我有一个存储库,其中有三个子文件夹.
A,B和核心文件夹.

我需要A和B中的核心文件夹的文件.因此,核心文件夹的每个文件都应该位于A和B中的另一个文件夹中,并且每次更新文件都应该提交到"核心",反之亦然.
所以我尝试将核心文件夹设置为子存储库并将其添加到A和B.

因此,在文件夹B中,例如.hgsub中有以下行.www = ../core
主存储库位于.hgsub中core = core

我认为有些事我做错了,但也许你有一个提示如何实现我想要的:)

(更新)
澄清:
存储库包含应用程序的不同"项目".
A是Android,B是iOS."核心"包含HTML + JS文件,这些文件稍后在Android和iOS项目中用于构建具有phonegap的应用程序.

ang*_*son 8

如果我理解你,你有这个:

repo
  |
  +-- core         <--+
  +-- A               |
      +-- core     ---+ \A\core and \B\core should be equal to \core
  +-- B               |
      +-- core     ---+

Mercurial中没有任何内容可以帮助您解决这个问题.

可以做到这一点:

core-repo
  +-- (content)

repo
  +-- A
      +-- core        --- sub-repo pointing to core-repo
  +-- B
      +-- core        --- sub-repo pointing to core-repo

这将允许您提交对A内的子仓库的更改,推送,然后拉入并更新到B内的子仓库,使它们保持同步.

  • 我根本不熟悉詹金斯.在任何情况下,子repos都链接到该存储库的特定修订版.换句话说,如果您在A\core下更改某些内容,则提交,然后按下,即使您拉入B\core,您仍需要更新并提交repo以记录新的changeset链接. (2认同)