【25】資源的鎖定與清理
某些情況下,當(dāng)SVN更新我們的工作副本時(shí),會(huì)有意外情況發(fā)生阻止更新的執(zhí)行。例如kill進(jìn)程,機(jī)器崩潰等。
正常情況下當(dāng)SVN更新本地工作副本時(shí),會(huì)首先在.svn目錄下產(chǎn)生一個(gè)log文件,該文件記錄了SVN將要對(duì)我們的副本進(jìn)行的操作。然后SVN執(zhí)行日志中的命令,當(dāng)所有命令執(zhí)行完畢后清除該文件。如果由于意外導(dǎo)致操作中斷,則會(huì)令文件處于不穩(wěn)定的狀態(tài)。此時(shí)如果我們執(zhí)行svn status 命令,會(huì)看到有些輸出的行中,文件的前面有一個(gè)“L”標(biāo)識(shí),這表示文件處于被鎖定(Lock)狀態(tài)。
這時(shí)就需要用到SVN提供的清理功能了。清理功能是通過(guò)svn cleanup 命令來(lái)完成的。當(dāng)執(zhí)行這個(gè)命令時(shí),SVN會(huì)首先完成log文件中沒(méi)有完成的剩余工作,釋放鎖定,最后刪除log文件。通常我們都是在項(xiàng)目的根目錄來(lái)執(zhí)行這個(gè)命令
-------------------------------------------------------------
生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。