python腳本正在運行兩個並行的python進程(通過os.fork()創建),每個進程最終都會嘗試檢出一個Subversion存儲庫樹葉到同一個工作副本目錄中。如何找出subversion工作目錄是否被svn鎖定?
在子進程(通過python subprocess模塊)中運行'svn co ...'命令之前,父代碼會檢查工作副本是否已經存在。
if os.path.isdir(checkout_dir):
# working copy dir already exists
return checkout_dir
所以,如果它不應該有任何的「svn合作」運行,但是從父功能,而立即返回。
儘管如此,一些碰撞發生,其中一個python進程在'svn co ..'上失敗。
checked-out failed: svn: Working copy '/tmp/qm_23683' locked
svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)**
所以第一個問題是,爲什麼工作拷貝目錄存在檢查沒有工作,第二個 - 是有辦法找出一個工作拷貝目錄是由SVN和環鎖定,直到它被解鎖?
謝謝。