Version control 是否可以将mercurial hgrc文件的一部分签入回购协议?具体来说,[path]部分

Version control 是否可以将mercurial hgrc文件的一部分签入回购协议?具体来说,[path]部分,version-control,mercurial,hgrc,Version Control,Mercurial,Hgrc,在对google和stack做了一点研究之后,似乎不可能将hgrc文件签入到repo中,因为各种安全原因非常有意义 然而,我有一个有趣的设置,我想知道是否有人知道一种方法,使这更容易 具体来说,我们经营过多的电子商务商店,其中的模板是基于基本回购协议构建的,每个商店也有自己的回购协议(从基本回购协议继承) 我们也有许多开发环境,为了使这更容易,我们在hgrc中大量使用[path]指令 以下是我们的设置示例: 假设我们有以下商店模板库:电子商店、服装商店、玩具商店,以及一个名为base的基本模板

在对google和stack做了一点研究之后,似乎不可能将hgrc文件签入到repo中,因为各种安全原因非常有意义

然而,我有一个有趣的设置,我想知道是否有人知道一种方法,使这更容易

具体来说,我们经营过多的电子商务商店,其中的模板是基于基本回购协议构建的,每个商店也有自己的回购协议(从基本回购协议继承)

我们也有许多开发环境,为了使这更容易,我们在hgrc中大量使用[path]指令

以下是我们的设置示例:

假设我们有以下商店模板库:电子商店、服装商店、玩具商店,以及一个名为base的基本模板

我们还有以下环境:巴黎、伦敦和live

因此,在每个商店的hgrc中,我们有以下内容:

;inside hgrc for electronic_store
[path]
default = kiln://instances/live/electronic_store
paris = kiln://instances/paris/electronic_store
london = kiln://instances/london/electronic_store
live = kiln://instances/live/electronic_store
base = kiln://instances/live/base

;inside hgrc for clothing_store
[path]
default = kiln://instances/live/clothing_store
paris = kiln://instances/paris/clothing_store
london = kiln://instances/london/clothing_store
live = kiln://instances/live/clothing_store
base = kiln://instances/live/base
这使得在任何环境中都可以轻松地进行hg pull base、hg push/pull paris、hg push/pull live等操作

然而,我们经常关闭环境并打开新的环境,然后为所有存储库更新hgrc变得相当乏味,不仅是在每个店面(我们希望无论如何都要这样做),而且在每个环境中也是如此。由于没有跟踪hgrc,因此无法像我们预期的那样通过简单的拉/推同步这些更改

我们也不能将它们添加到我们的global.hgrc文件中,因为虽然路径名称相同,但它们推/拉到各自的存储库(即电子商店上的hg push paris与服装商店上的hg push paris是不同的回购)

有没有办法使hgrc的[路径]部分在回购协议中可跟踪?或者,如果没有做到这一点,根据我们目前的设置,是否有其他建议可以让我描述的存储库更易于管理

提前感谢。

如前所述,有一个不常用的
%include
指令。诀窍可能是:

/.hg/hgrc
中,通常的配置加上一行,包括工作目录中的
hgrc
文件:

[paths]
%include ../hgrc.tracked.paths 
/hgrc.tracked.paths
中,Mercurial控制的路径:

[paths]
default = kiln://instances/live/clothing_store
paris = kiln://instances/paris/clothing_store
london = kiln://instances/london/clothing_store
...

所以只要
hg add hgrc.tracked.paths
就可以开始对文件进行版本控制和共享。

完美,这正是我想要的。谢谢