2012-02-09 62 views
1

有一個或兩個文件,如.hgignore,我通常希望它們在每個項目中都是相同的。在Mercurial存儲庫之間共享文件

但是,這些文件的性質意味着我不能簡單地將它們移動到一個共同的共享項目,而只是讓其他項目依賴於該項目。他們必須在每個項目中。符號鏈接不是一種選擇,因爲我們的一些開發人員使用Windows。

如何在存儲庫之間共享這些文件並使更改(至少在本地計算機上)傳播?我正在使用Eclipse。

回答

0

硬鏈接而不是複製相關文件與Eclipse一起工作的種類 - 儘管您必須刷新每個其他項目才能使其接受更改。 但是,您可以將Eclipse配置爲監視文件系統並在需要時自動刷新 - 我推薦此操作。

Emacs默認不工作,因爲Emacs打破了硬鏈接(這通常是正確的做法,但不是這種情況下你想要的)。但是,您可以使用(setq backup-by-copying-when-linked t)爲多重鏈接的文件禁用此行爲。

3

爲了您的hgignore您可以在每個項目的.hg/hgrc文件放在一個條目這樣的特殊情況:

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

如果你知道你的公共庫將始終在父目錄中,這是常有的情況下,用subrepo設置,你可以這樣做:

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

,或者如果你知道它總是會在項目中檢出的同級目錄,你可以這樣做:

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

不幸的是,沒有絕對的方法可以引用一個在任何地方都有效的文件,但是至少可以讓您的機器上的所有簽出都引用一個常見的忽略。