svn加鎖設置


 

 

SVN 的鎖定與解鎖

簡單的說,如果壓根沒有鎖lock,那么每個人都擁有一個本地copy,每個人都能自由地對本地copy編輯edit並提交commit,這樣可能會導致沖突conflict,最后不得不合並Merge。這就是傳統的 “拷貝-修改-合並”模型。

如果使用鎖,每個用戶編輯前先get-lock, 然后編輯,提交。這個過程中,其他人打開的時候開到的是read-only的文件,無法保持,這樣就保證了單一性。這就是“鎖定-編輯-解鎖”模型,對不容易合並的非二進制文件很有好處。

更進一步,TortoiseSVN有個 needs-lock屬性,設置這一屬性后,文件將默認成為只讀文件,要編輯,必須get-lock, 之后,本地copy變成了可寫,編輯完提交后再次成為只讀。 這過程中,其他人的副本還是只讀,他也想編輯,也必須get-lock, 但是此時已經被lock了,他就知道已經有人編輯了,就不會再有編輯沖突了。

needs-lock 有專門的圖標,所以,needs-lock 可以看成是一種提醒,提醒你編輯之前必須lock。如果沒有該屬性,則可能會忘記加lock,導致提交沖突。

 

還有幾個問題

1: 如何設置 get-lock, unlock, needs-lock

get-lock, unlock, 右鍵菜單即可,get-lock 還可添加注釋

needs-lock 可以由右鍵 TortoiseSVN -> Properties -> New -> needs-lock 即可。

另外,可以設置全局的新添加文件自動加上needs-lock屬性,或者文件夾下所有文件

2: 如何查看lock 狀態

TortoiseSVN -> Check for modifications, 默認顯示本地修改文件,要查看所有的修改文件,再點

Check Repository 這樣顯示詳細的修改信息,包括owner,lock info等。

3:如何偷鎖

查看完lock,選擇文件,右鍵可以 break lock, 另外還可以 steal lock. 不過除非lock的人聯系不上,不要隨意break 或者steal,不然文件沖突事小,破壞團結,丟掉工作事大,簡單的交流更有效。

 

詳情參考官方教程:

http://tortoisesvn.net/docs/release/TortoiseSVN_zh_CN/tsvn-dug-locking.html  lock 頁面

http://tortoisesvn.net/docs/release/TortoiseSVN_zh_CN/tsvn-dug-propertypage.html#tsvn-dug-propertypage-auto-props  自動設置頁面

http://tortoisesvn.net/docs/release/TortoiseSVN_zh_CN/index.html  1.7 中文教程首頁

 

 

SVN中如何為文件夾中的所有文件加鎖

選擇文件夾,右鍵property,-》點擊New,Needs lock,在所在文件夾上右鍵提交修改。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM