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

在New對話框中選中Needs-Lock

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

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