SVN的工作流是checkout->modify->update->merge->commit, 如果多人修改同一個文件, 需要進行合并. 但對于Excel等復合文件格式, svn無法處理合并. 雖然云風嘗試處理過Excel合并的問題, 但其實對于我們日常開發來說, 并不太期望有些操作進行合并, 而是類似于VSS那種早期的代碼管理工具的鎖定行為. SVN依然有這個功能.
這里使用的是風靡世界的TortoriseSVN. 選中一個SVN管理下的文件, 點擊右鍵, 打開屬性

在New對話框中選中Needs-Lock

提交這個屬性修改.
現在我們的工作流的某些步驟變化了:

getlock->modify->commit
如果有他人在修改, getlock會失敗
getlock的原理與早期的VSS一致, 使用了文件只讀的屬性. 如果嘗試不getlock就修改文件, 那么文件最終無法保存!