2008-12-07 69 views
4

將版本控制存儲庫中的項目文件(即其他源代碼文件以外的文件)保留在常用的做法中?存儲庫中的項目文件

此外,這些文件是定期檢入/檢出嗎?

我總是將SCC資源庫設想爲只有源代碼文件的「clean」。

如何管理存儲庫中的非源代碼文件?

以Visual Studio解決方案爲例。你會「檢查」整個解決方案的目錄到SCCS嗎?或者你只是添加源代碼文件?什麼時候構建解決方案需要檢查整個解決方案?也許最好用手動過程完成?

回答

8

我認爲一般的經驗法則是應該包括使項目編譯和運行所需的最小數據量。這包括藝術(或其他基本數據文件)和任何構建腳本。在autotools項目的情況下,這通常意味着一個configure.ac。在Visual Studio項目中,它表示Visual Studio項目文件。但是,如果configure.ac已經存在,那麼您不會包含其他任何可以自動生成的內容,例如「configure」腳本。

CVS和Subversion都有用於添加二進制文件的標誌(Subversion自動添加它),這對於圖像和項目文件(二進制文件)是很好的。 Subversion也允許文件鎖定,這對那些不想打破對方工作的藝術家來說是很好的選擇。

0

通常情況下,作爲構建的一部分重建的任何內容都不會檢入到存儲庫中。否則,當生成的文件被提交時會發生合併衝突,特別是如果它們是二進制文件或包含絕對路徑。

正如Sydius提到的,大多數SCM工具都有一種將非源文件標記爲二進制的方法。大多數現代工具自動檢測非純文本文件和CVS是:

cvs add -kb filenames 
2

你應該保留,你需要建立的倉庫裏的項目應有盡有。

所以,源代碼需要保持,而且還搞什麼幫助文件,文檔,圖形,執照等

最終產品並不需要存儲,因爲它是從源頭上重建。

另外,不應該存儲帶密碼和登錄名的配置文件。

3

任何可以從存儲庫中的其他文件生成的任何東西本身都不應該存儲在存儲庫中。

0

我的一個寵物項目是針對Windows,Mac OSX和Linux的小型跨平臺應用程序。我使用wxWidgets作爲框架,Linux上的Kdevelop,Mac OSX上的XCode和Windows上的Dev-Cpp作爲IDE。每個IDE的項目文件都可以通過CVS和SVN完美管理。我將項目文件保存在回購站中。無論何時我需要在任何目標平臺上重建開發環境,我所要做的就是安裝IDE並檢查最新的CVS。

1

是的,你應該!您應該包含其他開發人員所需的所有文件,以便在IDE中快速設置項目,包括自己在發生混亂的本地項目配置時快速恢復項目。

我主要進入網頁開發。有項目資源文件,如Photoshop .PSD文件,用於開發,並以某種方式導出到其他正在投入生產的文件中。您可能希望將它們保存在單獨的文件夾或存儲庫中。不主要關注這些文件的項目成員,他們很少被少數人更新和維護,可以選擇忽略這些資源,並且沒有本地副本。

0

您需要將編譯的二進制文件的歷史保存爲單獨的存檔。如果您在服務器上進行更新並且不起作用,則需要回滾。如果你從存檔的二進制副本中執行,效果會更好。我認爲爲二進制版本控制制定一些例程是個好主意。但他們不應該被存儲在SVN或類似的。 SCC系統非常有用,它不僅用於備份目的,而且用於回滾並跟蹤存儲文檔中的更改集。這對二進制文件沒有意義。

相關問題