VCS 版本控制系統(tǒng)是當前任何一個開發(fā)團隊協(xié)作開發(fā)中不可或缺的一部分,本文向你介紹 9 款常見而且比較受歡迎的版本控制系統(tǒng)。
Bazaar 是一個分布式的版本控制系統(tǒng),它發(fā)布在 GPL 許可協(xié)議之下,并可用于 Windows、GNU/Linux、UNIX 以及 Mac OS 系統(tǒng)。Bazaar 由 Canonical 公司贊助,目前已服務于Samba、Drupal 等知名的開源項目。
Bazaar 當前已經(jīng)包含許多有用的功能,這些功能使之具有如下鮮明的特點:
Bazaar 也包括智能合并、支持插件、可與第三方工具整合、文檔支持等其他特性。
5. Mercurial
Mercurial 是一種輕量級分布式版本控制系統(tǒng),采用 Python 語言實現(xiàn),易于學習和使用,擴展性強。相對于傳統(tǒng)的版本控制,具有如下優(yōu)點:
- 更輕松的管理。
傳統(tǒng)的版本控制系統(tǒng)使用集中式的 repository,一些和 repository相關(guān)的管理就只能由管理員一個人進行。由于采用了分布式的模型,Mercurial 中就沒有這樣的困擾,每個用戶管理自己的 repository,管理員只需協(xié)調(diào)同步這些repository。 - 更健壯的系統(tǒng)。
分布式系統(tǒng)比集中式的單服務器系統(tǒng)更健壯,單服務器系統(tǒng)一旦服務器出現(xiàn)問題整個系統(tǒng)就不能運行了,分布式系統(tǒng)通常不會因為一兩個節(jié)點而受到影響。 - 對網(wǎng)絡的依賴性更低。
由于同步可以放在任意時刻進行,Mercurial 甚至可以離線進行管理,只需在有網(wǎng)絡連接時同步
6. FOssil

Fossil 是一個簡單、高可靠性的分布式軟件配置管理系統(tǒng)。值得關(guān)注的功能:
1. Bug跟蹤和Wiki
2. Web接口
3. 自動同步
4. 支持 HTTP 接口
5. 嵌入式 CGI
6. 穩(wěn)健而且可靠
7. OpenCVS

OPENCVS 是自由的協(xié)作版本系統(tǒng)(CVS)實現(xiàn),CVS 是最流行的開放源代碼版本控制軟件。它可以用于客戶端, 以及服務器端的版本庫,提供了對存儲在版本庫中的數(shù)據(jù)的細粒度訪問控制。 它的目標是除了完全減少系統(tǒng)安全性的特性之外, 盡可能的與其它的 CVS 實現(xiàn)兼容。
OPENCVS 項目是在最近 GNU CVS 弱點暴露之后,經(jīng)過討論之后啟動的。 盡管 CVS 被廣泛使用,但是最近幾年它的開發(fā)已經(jīng)基本停止了。 CVS 的實現(xiàn)和設計,已經(jīng)被發(fā)現(xiàn)許多安全問題。
8. Monotone

monotone 是一個分布式版本控制系統(tǒng),提供了簡單的、單文件事務版本存儲和點對點同步協(xié)議,支持歷史版本敏感的合并操作、輕量級分支處理以及集成代碼評審和第三方測試工具。使用加密的版本命令方式和客戶端 RSA 認證,很好的支持國際化,不依賴第三方工具,支持跨平臺。
10. CVS
CVS(Concurrent Versions System)老牌的版本控制系統(tǒng),它是基于客戶端/服務器的行為使得其可容納多用戶,構(gòu)成網(wǎng)絡也很方便。這一特性使得CVS成為位于不同地點的人同時處理數(shù)據(jù)文件(特別是程序的源代碼)時的首選。