我正在將Visual SourceSafe代碼庫遷移到Subversion,並且遇到問題。Subversion是否有類似於VSS的鏈接?
這是我們目前的源代碼樹(在VSS)的簡化佈局:
project_root\
|-libs\
|-tools\
|-arch_1\
| |-include
| |-source
|-arch_2\
|-include
|-source
我的問題是在我們這兩個arch_
文件夾。每個arch_
文件夾將爲不同的硬件架構而構建,但兩個文件夾的內容幾乎完全相同。 arch_2
中的文件僅爲arch_1
中文件的VSS鏈接,只有少數例外。工作通常在arch_1
文件夾中進行檢查,並且VSS鏈接確保此處簽入的任何代碼在arch_2
文件夾中也進行更新。
移動到Subversion,是否有任何行爲將像VSS的鏈接?也就是說,有沒有辦法讓分開的文件夾中的兩個文件神奇地相互關聯,以便它們總是彼此同步(對一個文件的更改也會影響另一個文件)?
注:我知道這裏的正確答案是修復構建系統。大約十年前,這個項目的構建系統拼湊在一起,當時我們的編譯器/編譯系統不夠聰明,無法編譯兩個不同體系結構的源代碼相同的文件夾。感謝make
和更新的編譯器,我們可以重新編寫構建系統以消除對兩個並行源文件夾的依賴。但是,這需要時間,我們目前還沒有(我們正在失去VSS服務器的許可證,並且正在被迫在相當短的時間內遷移)。我希望找到一個針對這個問題的Subversion解決方案,因爲目前我們的時間比重寫構建系統(下一步在我的待辦事項列表中!)要更順利地進行遷移。
謝謝你的幫助!
澄清:我已經研究過使用外部定義之前,並從我可以告訴他們只能在目錄級別上使用。我正在尋找一些在文件級別上運行的東西,因爲我們的一些目錄混合了共享/鏈接文件和非鏈接的特定於體系結構的文件。
你說得對。它看起來像我Subversion文檔的硬拷貝(O'Reilly書)只涵蓋了Subversion 1.5。我將不得不仔細檢查我們的服務器上使用的版本。 – bta
接受你的答案。我不是特別喜歡這個答案,因爲這意味着我現在必須對IT人員抱怨,直到他們升級到1.6,但這是有幫助的。謝謝 – bta