SVN下錯誤集錦


一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文件,這樣也會產生代碼覆蓋。

上面二種情況都是我親眼看到新手這樣操作的,要避免這二種操作方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM