一SVN下的文件被locked不能update和commit
最近做項目的時候,遇到這個問題,SVN下的文件被locked不能update和commit。其提示如下:

解決辦法:
執行“清除”操作后,就可以了。(點擊Clean up…即可,之后就可以提交和更新了)

二 SVN還原提交的版本
由於在客戶端提交應用程序時的誤操作,導致修改了基線版本,此處利用兩個命令來進行恢復:
1、將客戶端恢復合並到指定版本:
svn merge -r 112:111 svn://192.168.0.119/UBoot/trunk/u-boot-1.3.3
此步驟將下位機由112恢復到111版本:
2、重新修訂基線版本
svn commit -m "Undoing change committed in r111."
此步驟將恢復后的111版本提交,但是此時的版本號為113
三 svn代碼沖突,不能提交的解決方法
對於剛接觸svn的人來說,svn沖突后,不能提交是件讓人很郁悶的事情。最讓人郁悶的事,是代碼間的覆蓋。你把我代碼蓋了,我會很火大的。誰把誰的蓋了都不爽。
為什么會出現代碼沖突問題呢,因為不同的人,同時修改了同一個文件的同一個地方,這個時候,他提交了,你沒有提交,你就提交不了,這個時候,你要先更新,更新就會出現代碼沖突問題。一般情況,要盡量避免多個人修改同一個文件,如果你改的文件是公用文件,這個時候,最好和大家勾通一下,大家都在改就不好了。
下面我說一個,通用的解決沖突的辦法,還不會覆蓋代碼,以test.java為例 :
1,修改文件后提交不了,大多是因為版本不一致造成的。更新一下,不產生沖突的情況,就可以提交了。
2,更新文件,如果出現沖突的情況,打開沖突文件test.java會看到類似以下的內容
<<<<<<<<<<<<<<<
asdfadfadfadf
11111111111111
=======
asdfadfadfadf
111111111111111
222222222222
>>>>>>>>>>>>>>>>
結合別人修改的內容和自己修改的內容,然后把文件中的<<<<<,=====,>>>>>>>這類沖突符號去掉。去掉后,還是不能提交的,為什么?因為沖突時會產生三個文件,有這三個文件存在肯定提交不了。
客戶端用的tortoisesvn(這個估計程序員用的最多),沖突時會多產生,三個文件
test.java.mine 是沖突前自己的文件
test.java.版本號 是沖突前本地的版本文件
test.java.服務器的版本號 是沖突后服務器版本文件
提交的時候,把這三個文件刪除掉就可以提交了。
3,產生覆蓋的原因。
a),在修改沖突文件test.java時,把別人代碼都刪除掉了,只留下了自己的代碼。這樣就會產生覆蓋了。
b),把test.java.mine中的內容直接copy到test.java文件,這樣也會產生代碼覆蓋。
上面二種情況都是我親眼看到新手這樣操作的,要避免這二種操作方法。
