jasmine214--love

          只有當(dāng)你的內(nèi)心總是充滿快樂(lè)、美好的愿望和寧?kù)o時(shí),你才能擁有強(qiáng)壯的體魄和明朗、快樂(lè)或者寧?kù)o的面容。
          posts - 731, comments - 60, trackbacks - 0, articles - 0

          鑒于遷移版本控制系統(tǒng)的工作量比較大(主要是培訓(xùn)成本),這幾天我們工作室重新調(diào)整了下各自對(duì) svn 倉(cāng)庫(kù)的管理權(quán)限,理了下以后的開(kāi)發(fā)管理流程。最終決定繼續(xù)把 svn 用下去(至少到項(xiàng)目第一階段完成),希望比以前用的更好。

          但出于個(gè)人興趣,我繼續(xù)考察了幾個(gè)分布式 VCS/SCM ,并裝了其中幾個(gè)玩。個(gè)人直覺(jué) Darcs 最好。不過(guò)從流行度講,或許 Mercurial 更佳。

          雖然近期網(wǎng)上似乎支持 Mercurial 的最多(包括烏龜版也做的最全面),但我還是找到一篇文章支持我的直覺(jué)。

          Whose Distributed VCS Is The Most Distributed?

          他寫(xiě)的算是有理有據(jù)了。

          不過(guò)這篇 blog 成文于 2006 年 8 月,離現(xiàn)在已有些年頭,在這個(gè)訊息萬(wàn)變的今天,每個(gè)活躍的開(kāi)源軟件都會(huì)不斷的發(fā)展,大家姑且看之。至于我的個(gè)人意見(jiàn),只是出于直覺(jué),沒(méi)什么可參考性。

          作者提出了理想的分布式版本控制系統(tǒng)的八點(diǎn)要求,這也正是我想要的:

          1. 協(xié)作的基本模式必須是基于分支。

          2. 做分支必須很廉價(jià)。

          3. 可以智能的合并分支。

          4. 每組更改集都不必通過(guò)整個(gè)更新歷史就能和其他部分合并。

          5. 分支既是倉(cāng)庫(kù)的副本,分支操作保持有全部的歷史。

          6. 合并操作也不損失更新歷史。

          7. 提交、分支、合并操作都可以離線完成。

          8. 針對(duì)大多數(shù)應(yīng)用都盡可能的快。

          關(guān)于這 8 點(diǎn)的具體解釋,有興趣的朋友可以去讀原文,寫(xiě)的很清楚。其實(shí)對(duì)于我,沒(méi)必要分這么細(xì)。我需要的就是,大家可以基于分支來(lái)協(xié)作工作,而不是基于單次提交。我 每次向大家工作的集合(主干)做合并操作,應(yīng)該包含一系列的本地提交。在完成這個(gè)功能的基礎(chǔ)上,VCS 應(yīng)該用起來(lái)足夠簡(jiǎn)單(簡(jiǎn)單的用 pull/push 取代 update/commit),不損失我的工作流程包含的信息(從何時(shí)分支,何時(shí)合并,中間做了一系列什么修改),且跑起來(lái)足夠快。

          作者的結(jié)論是明顯偏向 Darcs 的,這個(gè)觀點(diǎn)倒是可以商榷。不過(guò) svn 顯然達(dá)不到大多數(shù)要求。這幾天我在 svn 上做了許多分支合并的試驗(yàn),發(fā)現(xiàn) svn 很不人性(相比更人性的分布式設(shè)計(jì)而言)。為什么會(huì)這樣?因?yàn)?svn 設(shè)計(jì)之初本就不是基于分支來(lái)解決大家的協(xié)作問(wèn)題的。

          btw, Darcs 對(duì)中文支持可能會(huì)有問(wèn)題,但是可以通過(guò)設(shè)置環(huán)境變量繞開(kāi)。請(qǐng)參考 Darcs 的手冊(cè)中 Character escaping and non-ASCII character encodings 一節(jié)設(shè)置。

          原文:http://blog.codingnow.com/2008/01/version_control_system.html

          主站蜘蛛池模板: 汕尾市| 隆安县| 桓仁| 社旗县| 香格里拉县| 隆昌县| 乌苏市| 宝应县| 米林县| 三穗县| 孟津县| 康马县| 栾城县| 高淳县| 娄烦县| 梧州市| 普陀区| 牙克石市| 隆化县| 和平区| 米林县| 资溪县| 日照市| 宝清县| 高阳县| 景泰县| 峨眉山市| 赤壁市| 姜堰市| 广汉市| 鄂伦春自治旗| 张北县| 齐河县| 华池县| 延庆县| 象山县| 周宁县| 湖北省| 南宁市| 桂东县| 福清市|