1. 程式人生 > >SVN設置必須鎖定

SVN設置必須鎖定

時間 listitem upd 編輯 匹配 機制 發的 span 一個

SVN是一個開放源代碼的版本控制系統,相信做開發的基本上都用過,這裏就不多介紹了。團隊協作開發時常常會出現提交的文檔互相沖突的問題,這裏給大家介紹一下給SVN文件設置必須鎖定的方法,當然你也可以對沖突文檔進行合並處理,這個就需要人工處理了。  

  項目中操作:右擊項目解決方案->Solution File->Subversion Properties->Add->選擇"svn:needs-lock"->OK.

  文件上操作:右擊項目文件夾->TortoiseSVN->Properties->New->Needs-Lock->Locking required(read-only update) ->OK->OK.

  這種方式屬於"鎖定-修改-解鎖"模型,在這種系統中,在同一時間版本庫只允許一個用戶修改一個文件。缺點就是限制太多,經常會成為用戶的障礙。

缺點:

  • 鎖定可能導致管理問題。有時候 Harry 會鎖住文件然後忘了此事,這就是說 Sally 一直等待解鎖來編輯這些文件,她在這裏僵住了。然後 Harry 去旅行了,現在 Sally 只好去找管理員放開鎖,這種情況會導致不必要的耽擱和時間浪費。

  • 鎖定可能導致不必要的線性化開發。如果 Harry 編輯一個文件的開始,Sally 想編輯同一個文件的結尾,這種修改不會沖突,設想修改可以正確的合並到一起,他們可以輕松的並行工作而沒有太多的壞處,沒有必要讓他們輪流工作。

  • 鎖定可能導致錯誤的安全狀態。假設 Harry 鎖定和編輯一個文件 A,同時 Sally 鎖定並編輯文件 B,如果 A 和 B 互相依賴,這種變化是必須同時作的,這樣 A 和 B 不能正確的工作了,鎖定機制對防止此類問題將無能為力—從而產生了一種處於安全狀態的假相。很容易想象 Harry 和 Sally 都以為自己鎖住了文件,而且從一個安全,孤立的情況開始工作,因而沒有盡早發現他們不匹配的修改。

  說明:以上內容摘自TortoiseSVN幫助文檔.

SVN設置必須鎖定