from:https://www.cnblogs.com/wbyp/p/5753799.html
問題描述:
之前為了圖方便呼巷,在eclipse中直接把三個(gè)jsp文件復(fù)制到了eclipse中我新建的一個(gè)文件夾中信认,把svn版本號(hào)信息也帶過來了持舆,然后我又刪除了這三個(gè)jsp文件,接著先把這三個(gè)jsp復(fù)制到桌面,然后在從桌面復(fù)制到eclipse中我新建的文件夾中贤牛,這時(shí)是沒有svn版本號(hào)信息了困后,但是在"與資源庫(kù)同步"后提交的時(shí)候出現(xiàn)了問題:
svn報(bào)如下錯(cuò)誤:
我嘗試在eclipse中刪除這個(gè)文件夾也刪不了鹉梨,報(bào)錯(cuò):
接著嘗試直接在工作空間的目錄里刪除這個(gè)文件夾婴程,但是還是有問題:
如圖所示,這個(gè)紅圈中的文件就是我刪除的文件渠脉,與資源庫(kù)同步后的結(jié)果宇整,這時(shí)我去提交或更新還是會(huì)報(bào)錯(cuò):Attempted to lock an already-locked dir
繼續(xù)實(shí)踐,后來在網(wǎng)上看到了這個(gè):
然后我就先把文件恢復(fù)成了這個(gè)藍(lán)色加號(hào)的狀態(tài)芋膘,然后先進(jìn)行了提交操作鳞青,之后雖然藍(lán)色加號(hào)消失了霸饲,但是在與資源庫(kù)同步之后還是有問題:
出現(xiàn)了這種情況,又提示更新又提示提交的臂拓,繼續(xù)解決問題厚脉,最終方法,其實(shí)只需要把工作空間里對(duì)應(yīng)目錄的.svn文件夾里的lock文件刪除就行:
我連同產(chǎn)生的錯(cuò)誤日志文件一同干掉了胶惰,eclipse中的svn插件終于正常了傻工。
問題總結(jié):
org.tigris.subversion.javahl.ClientException: Attempted to lock an already-locked dir
svn: Working copy 'D:\wangbo\album2\WebRoot\pages\shareProduct' locked
"svn客戶端異常:試圖鎖定一個(gè)已經(jīng)鎖定的目錄"
根據(jù)提示能夠想到,要提交代碼的時(shí)候孵滞,SVN 所做的工作中有一個(gè)操作步驟是"鎖定"中捆,所以才會(huì)有"Attempted to lock "這一步,至于"an already-locked dir"坊饶,就是說當(dāng)前資源已經(jīng)是鎖定狀態(tài)了泄伪,所以無法再次鎖定。
按說按照提示"嘗試鎖定一個(gè)已經(jīng)被鎖定的目錄"匿级,就像"你去把門鎖上蟋滴,其實(shí)門就是鎖上的",這一命令就沒法執(zhí)行了痘绎。應(yīng)該只要 "release lock"就可以再次進(jìn)行鎖定了津函。然而并非如此,原因就是:此 lock 非彼 lock 简逮!你在右鍵 SVN 菜單中能找到所有 " [ * ] lock" 命令都是對(duì) SVN 倉(cāng)庫(kù)所做的操作球散,不信你試試尿赚,都會(huì)讓你填操作說明的散庶,說明這是對(duì)倉(cāng)庫(kù)資源有改變(這里的lock是指在代碼庫(kù)中標(biāo)記為鎖定狀態(tài),不允許更改)凌净;我們這里的鎖定只是在一次代碼提交階段暫時(shí)性"鎖定"悲龟,等提交操作完成了就取消鎖了,是為了保證在提交過程中不被更改(提交代碼需要網(wǎng)絡(luò)通信冰寻,如果網(wǎng)絡(luò)質(zhì)量不好就比較耗時(shí)须教,你可能在此過程中對(duì)正在提交的代碼更改),所以只要 cleanup 上次的鎖定就可以了斩芭。
解決方法:
一轻腺、右鍵選擇 Team > Refresh/Cleanup ,再進(jìn)行提交操作(前提是具備有效的SVN倉(cāng)庫(kù)連接)就可以了划乖。
二贬养、還有一種方法就是我自己用的了,直接刪除lock文件就可以了(參考我上面的描述)琴庵。