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在提示文檔被鎖定時能夠提示出被鎖定的作者和具體時間,可是在本地設置了SVN關鍵字之后也沒有效果,希望知道的園友能夠指點一下,歡迎評論指出,感激不盡!:)