在Mercurial存储库之间共享文件

时间:2012-02-09 13:05:02

标签: mercurial

有一两个文件,比如.hgignore,我通常希望在一堆项目中都是相同的。

但是,这些文件的性质意味着我不能简单地将它们移动到一个共同的共享项目,只是让其他项目依赖于该项目。他们必须在每个项目中。符号链接也不是一种选择,因为我们的一些开发人员使用Windows。

如何在存储库之间共享这些文件并传播更改(至少在我的本地计算机上)?我正在使用Eclipse。

2 个答案:

答案 0 :(得分:3)

对于hgignore的特定情况,您可以在每个项目的.hg/hgrc文件中输入这样的条目:

[ui]
ignore.common = ~/hgignore-common

如果您知道您的公共库将始终位于父目录中,那么您可以执行subrepo设置:

[ui]
ignore.common = ../hgignore-common

或者如果您知道它总是在项目结帐的兄弟目录中,您可以这样做:

[ui]
ignore.common = ../company-wide-defaults/hgignore-common

不幸的是,没有绝对的方法来引用一个在任何地方都有效的文件,但是你至少可以在你的机器上所有结账都引用一个常见的忽略。

答案 1 :(得分:0)

硬链接而不是复制相关文件与Eclipse一起工作 - 虽然您必须刷新其他每个项目以使其获取更改。 但是,您可以将Eclipse配置为监视文件系统并在需要时自动刷新 - 我建议这样做。

默认情况下,它不能与Emacs一起使用,因为Emacs会破坏硬链接(这通常是正确的做法,但在这种情况下不是你想要的)。但是,您可以使用(setq backup-by-copying-when-linked t)为多重链接的文件禁用此行为。

相关问题