SVN设置必须锁定
SVN是一個(gè)開(kāi)放源代碼的版本控制系統(tǒng),相信做開(kāi)發(fā)的基本上都用過(guò),這里就不多介紹了。團(tuán)隊(duì)協(xié)作開(kāi)發(fā)時(shí)常常會(huì)出現(xiàn)提交的文檔互相沖突的問(wèn)題,這里給大家介紹一下給SVN文件設(shè)置必須鎖定的方法,當(dāng)然你也可以對(duì)沖突文檔進(jìn)行合并處理,這個(gè)就需要人工處理了。
項(xiàng)目中操作:右擊項(xiàng)目解決方案->Solution File->Subversion Properties->Add->選擇"svn:needs-lock"->OK.
文件上操作:右擊項(xiàng)目文件夾->TortoiseSVN->Properties->New->Needs-Lock->Locking required(read-only update) ->OK->OK.
這種方式屬于"鎖定-修改-解鎖"模型,在這種系統(tǒng)中,在同一時(shí)間版本庫(kù)只允許一個(gè)用戶(hù)修改一個(gè)文件。缺點(diǎn)就是限制太多,經(jīng)常會(huì)成為用戶(hù)的障礙。
缺點(diǎn):
-
鎖定可能導(dǎo)致管理問(wèn)題。有時(shí)候 Harry 會(huì)鎖住文件然后忘了此事,這就是說(shuō) Sally 一直等待解鎖來(lái)編輯這些文件,她在這里僵住了。然后 Harry 去旅行了,現(xiàn)在 Sally 只好去找管理員放開(kāi)鎖,這種情況會(huì)導(dǎo)致不必要的耽擱和時(shí)間浪費(fèi)。
-
鎖定可能導(dǎo)致不必要的線性化開(kāi)發(fā)。如果 Harry 編輯一個(gè)文件的開(kāi)始,Sally 想編輯同一個(gè)文件的結(jié)尾,這種修改不會(huì)沖突,設(shè)想修改可以正確的合并到一起,他們可以輕松的并行工作而沒(méi)有太多的壞處,沒(méi)有必要讓他們輪流工作。
-
鎖定可能導(dǎo)致錯(cuò)誤的安全狀態(tài)。假設(shè) Harry 鎖定和編輯一個(gè)文件 A,同時(shí) Sally 鎖定并編輯文件 B,如果 A 和 B 互相依賴(lài),這種變化是必須同時(shí)作的,這樣 A 和 B 不能正確的工作了,鎖定機(jī)制對(duì)防止此類(lèi)問(wèn)題將無(wú)能為力—從而產(chǎn)生了一種處于安全狀態(tài)的假相。很容易想象 Harry 和 Sally 都以為自己鎖住了文件,而且從一個(gè)安全,孤立的情況開(kāi)始工作,因而沒(méi)有盡早發(fā)現(xiàn)他們不匹配的修改。
說(shuō)明:以上內(nèi)容摘自TortoiseSVN幫助文檔.
總結(jié)
- 上一篇: 谨慎注意WebBrowser控件的Doc
- 下一篇: 为什么会出现人口负增长?