2013-06-25 214 views
1

我有以下目錄結構:如何管理源代碼管理中的常見源文件?

enter image description here

​​,DataStructure1DataStructure2包含由一個或多個項目中使用的源文件。

我想用Mercurial和BitBucket作爲開源發佈一個或多個項目。但我不知道如何管理一個或多個項目使用的源文件。

我是新來的源代碼控制和一般的軟件開發,所以我想知道在這種情況下的最佳實踐。

我應該:根據需要

  1. 包括在多個庫中常見的源文件? (即hg add他們兩個或多個存儲庫)

  2. 包括在比hg add一些其他的方式共同文件?

  3. 做一些完全不同的事情嗎?

回答

3

選項3:做一些完全不同的事情。

您可以使用subrepository功能:將公用文件保存在不同的回購站中,然後從存儲庫中引用它們。

+0

謝謝!看起來很有趣,看起來這正是我所需要的。但爲什麼它被認爲是最後的手段?你是否有類似的情況?你有什麼可以出錯的建議嗎? –

+1

當使用子庫來避免問題時,Mercurial文檔提供了[建議列表](http://mercurial.selenic.com/wiki/Subrepository?action=show&redirect=Subrepositories#Recommendations)。還有一個頁面解釋了[最後手段的功能](http://mercurial.selenic.com/wiki/FeaturesOfLastResort)。我從來沒有真正使用過subrepositories:我試圖通過發佈版本來解決問題:CommonUtilities-0.1,CommonUtilities-0.2,然後在我的其他項目上引用它們,即使它們只是內部工具。 –

2

您正試圖通過錯誤的工具解決問題。管理這種情況的最佳方式是依賴管理工具(請參閱Maven,IvyGradle)。