如何整合一套基於CVS的組態管理系統
以前在項目組作組態管理工作的時候,自己研究和學習了一些基於CVS的配套工具,現推薦給大家。這些工具基本上完全免費,且能完美整合在一起實現版本管理、工作空間管理、分支管理、web訪問、郵件自動通知、Issue跟蹤、配置狀態和統計報告、產品整合等功能。大家也可以去探索一些更好更實用的工具,也歡迎與我分享。
1) Server:CVS/CVSNT/Subversion
在UNIX/Linux環境下安裝使用CVS,在Win環境下使用CVSNT。相對來說,UNIX環境更穩定些,但使用較不方便。Subversion 是基於CVS作了很大的改進,比如重新命名、移動、分支等,我試用的時候還不太穩定,可能現在好多了。如何安裝、使用和常見問題可參考我編寫的《cvs使用指南》
2) Client:Command Line/ WinCvs/ Eclipse/ TortoiseSVN
在UNIX下開發,一般使用命令列了,一些習慣於命令的朋友也一直使用命令列操作。Eclipse就不用說了,目前很多公司都在使用,和CVS整合得太完美了,建議採用java、c/c++開發的朋友一定試試。Eclipse還整合很多其它工具和外掛程式,比如junit、ant、代碼規範檢查等。
3) Web:CvsWeb/ viewcvs/ cvstrac
首先推薦的是viewcvs,介面很不錯,還可以整合一些perl模組來顯示檔案版本樹,也可以線上進行版本比較。
4) 與IDE整合:igloo/cvsin
我找到的這兩個工具的版本都比較老了,沒有找到新版本,試用的時候不是很穩定,支援所有提供SCC介面的開發工具,比如VB、VC等。
5) Bug跟蹤工具:Bugzilla/cvstrac
Bugzilla功能不錯,但使用者介面實在不敢恭維,不太符合中國人的使用習慣,如果你有時間,把介面修改修改還可以用。cvstrac功能也不錯,特別是時間軸的功能,還有與代碼的關聯和web瀏覽配置庫。
6) 配置庫變更郵件自動通知:cvsnotify/ cvsmail
cvsnotify的功能不錯,可以發html格式的郵件,郵件的超串連可以與viewcvs整合。很重要的一點是,cvsnotify配置採用xml,可定製性很強,而且自動監測Checkin的檔案,保證一次性檢入的檔案發在一封通知訊息裡,而不是檢入一個檔案發一封郵件。 cvsnotify1.9.0.9之前不支援中文,我經過好幾天與devguy協調後,進行了修改,現在可以支援中文。
此外,也可以自己編寫一個mail發送程式,然後整合在loginfo檔案裡。比如我早期使用的是"practice/fjqin (F:/scm/syncmail_simple.py %{sVv} 126678@126.com)"
7) 入庫自動檢查代碼規範:checkstyle
checkstyle是針對java的代碼規範檢查工具。當然,c/c++就比較多了,大家可以在網上查查。這些工具可以和commitinfo一起,實現入庫前自動檢查。達到沒有滿足代碼規範就不能入庫的作用,比人為檢查代碼規範省事多了。
8) 配置統計和報告:statcvs/cvsplot
statcvs的功能很強大,統計很多資料,包括開發人員、代碼、檔案、log資訊、目錄大小等類別,比自己手動統計方便多了。