2010-10-21 66 views
1

有沒有辦法告訴SVN合併時,一個或多個文件是特殊的,不應該合併?svn:合併同時維護分支之間的變體

我處理的一對夫婦這就需要不同的唯一ID來區分它們構建的樹木,我們每次都重新合併文件,它是維持這些ID的痛苦。

回答

0

的部分Blocking Changes給出了可用於防止特定的修訂從合併方法的概述。

編輯: 我的理解顛覆是關於修訂。與衆所周知的DVCS相比,它不追蹤內容或變更集。爲了縮小在顛覆中跟蹤文件但不跟蹤部署/工作副本更改之間的差距,以下方法可能是可行的。

而是 'id.txt',一個叫 'id.txt.template' 的文件被版本。作爲部署過程的一部分,將生成'id.txt',同時作爲svn:ignore的一部分。

+0

嗯,我看不出有什麼幫助;它適用於整個變更集,我有興趣將特定文件標記爲「不接觸」。 – 2010-10-21 18:53:29

+0

「替代'id.txt',名爲'id.txt.template'的文件是版本化的 - 」我一直使用svn:ignore做這種事情。這不是這種情況。有問題的文件不會自動生成。 – 2010-10-21 20:51:20

1

我認爲你必須每一次,這將是一個痛苦,除非你想使用類似SVNMerge.py排除。

2

您可以從合併中排除的文件,也可以合併那麼一大堆提交之前恢復的文件。

可能是最好的解決辦法是使用的外部 - 把非合併文件在其他地方你的樹,並使用的外部屬性的特定文件拉進你的廁所,當你結帳。這些文件將不會成爲合併的一部分。

+0

+1:外部有趣的想法。它有缺陷嗎? – 2010-10-21 20:50:05

+0

使用外部參數時,您需要指定引用路徑的所需修訂版本,或者確保引用的路徑具有穩定的API。如果不提供修訂版本號,svn會檢出引用路徑的HEAD,即使簽出項目的舊版本也是如此。 – Rudi 2010-10-22 07:58:05

+0

你也可以忘記檢查'獲取外部選項',所以不會得到更新的文件。不一定是一個問題,如果文件永遠不會改變:) – gbjbaanb 2010-10-22 08:45:34