- 相關(guān)推薦
SVN沖突解決方法大全
錯誤信息一:
SVN Attempted to lock an already-locked dir 出現(xiàn)這個問題后使用“清理”功能,如果還不行,就直接到上一級目錄,再執(zhí)行“清理”,然后再“更新”。
有時候如果看到某個包里面的文件夾沒有SVN的標志,直接用“Ctrl+Delete”手工刪除,然后“清理”,最后“更新”或“提交”。
中斷提交,都會進入這種工作拷貝的鎖定狀態(tài)。用svn cleanup上次關(guān)閉時的鎖定。
注:SVN使用規(guī)范
1.同步,合并,再提交
2.每天開工時,先在ECLIPSE里同步,下班時,要提交(提交前,先在文件夾的右菜單中,選擇小組>清除),保證每個人的機子里在開工前都是最新版本
錯誤信息二:
Malformed file
svn: E:\svn\repository\conf\http://m.emrowgh.comnf:12: Option expected
原因:
配置文件12行開頭有空格
錯誤信息
Attempted to lock an already-locked dir
svn: Working copy 'E:\integration\com.svn.practise' locked
原因:
需要用svn cleanup上次關(guān)閉時的鎖定
錯誤問題三:
svn' containing working copy admin area is missing
一直使用SVN進行版本控制,環(huán)境是:
win2003+myeclipse6+svn1.46
部署到tomcat5.5和weblogic8.1
問題描述:
eclipse開發(fā)過程經(jīng)常進行自動編譯和發(fā)布,這導(dǎo)致/web-inf/目錄下相關(guān)文件夾對應(yīng)的.svn文件夾被連同刪除,導(dǎo)致同步時出現(xiàn):svn' containing working copy admin
area is missing提示。
解決辦法:
瀏覽SVN倉庫目錄結(jié)構(gòu),把工程目錄下對應(yīng)的/web-inf/目錄下相關(guān)文件全部或部分刪除(這里我僅僅刪除classes目錄),刷新。再進行同步工作,OK。
------------------------------
本地項目與svn服務(wù)器比對時,
產(chǎn)生.../項目名/bin/org/.svn .....containing working copy admin area is
missing之類的問題解決辦法:
不應(yīng)該把bin目錄(即class生成目錄作為svn監(jiān)管對象),
右鍵項目-》team-》設(shè)置屬性-》名稱: svn:ignore 內(nèi)容: bin;
在svn的倉庫bin目錄刪除;
在本地將bin目錄下的org開始刪除,然后右鍵bin目錄,更新,然后bin目錄消失;
clean并重新build該項目
錯誤問題四:myeclipse用svn提交的時候報錯:
Attempted to lock an already-locked dir
svn: Working copy 'D:\Program Files\MyEclipse
6.6flex\workspace\emis\WebRoot\emis\emresource' locked
org.tigris.subversion.javahl.ClientException: Attempted to lock an already-locked dir
svn: Working copy 'D:\Program Files\MyEclipse
6.6flex\workspace\emis\WebRoot\emis\emresource' locked
解決方法:
1、在客戶端命令行使用命令 svn cleanup D:\Program Files\MyEclipse
6.6flex\workspace\emis\WebRoot\emis\emresource
2、直接進入到上面的文件夾下的.svn目錄,刪除lock文件就可以了
SVN沖突解決方法大全2017-03-23 06:08 | #2樓
解決svn沖突的辦法:
-手動解決:沖突發(fā)生時,通過和其他用戶溝通之后,手動更新目標文件。然后執(zhí)行svnresolvedfilename來解除沖突,最后提交。
-放棄自己的更新,使用別人的更新。使用最新獲取的版本覆蓋目標文件,執(zhí)行svnresolvedfilename并提交。
《SVN沖突解決方法大全》全文內(nèi)容當(dāng)前網(wǎng)頁未完全顯示,剩余內(nèi)容請訪問下一頁查看。
-放棄自己的更新,使用svnrevert,然后提交。在這種方式下不需要使用svnresolved。
對于svnresolved命令需要非常小心,必須是非常確定沖突已經(jīng)解決才能使用。否則,會導(dǎo)致subversion以為沖突解決,而使代碼庫不正確。
解決沖突詳細文檔:http://m.emrowgh.com
解決沖突(合并別人的修改)
我們可以使用svnstatus-u來預(yù)測沖突,當(dāng)你運行svnupdate一些有趣的事情發(fā)生了:
$svnupdate
uinstall
greadme
cbar.c
updatedtorevision46.
u和g沒必要關(guān)心,文件干凈的接受了版本庫的變化,文件標示為u表明本地沒有修改,文件已經(jīng)根據(jù)版本庫更新。g標示合并,標示本地已經(jīng)修改過,與版本庫沒有重迭的地方,已經(jīng)合并。
但是c表示沖突,說明服務(wù)器上的改動同你的改動沖突了,你需要自己手工去解決。當(dāng)沖突發(fā)生了,有三件事可以幫助你注意到這種情況和解決問題:
subversion打印c標記,并且標記這個文件已沖突。
如果subversion認為這個文件是可合并的,它會置入svn沖突標記—特殊的橫線分開沖突的“兩面”—在文件里可視化的描述重疊的部分(subversion使用svn:mime-type屬性來決定一個文件是否可以使用上下文的,以行為基礎(chǔ)合并,更多信息可以看“svn:mime-type”一節(jié))。
對于每一個沖突的文件,subversion放置三個額外的未版本化文件到你的工作拷貝:filename.mine
你更新前的文件,沒有沖突標志,只是你最新更改的內(nèi)容。(如果subversion認為這個文件不可以合并,.mine文件不會創(chuàng)建,因為它和工作文件相同。)
filename.roldrev這是你的做更新操作以前的base版本文件,就是你在上次更新之后未作更改的版本。
filename.rnewrev這是你的subversion客戶端從服務(wù)器剛剛收到的版本,這個文件對應(yīng)版本庫的head版本。
這里oldrev是你的.svn目錄中的修訂版本號,newrev是版本庫中head的版本號。
舉一個例子,sally修改了sandwich.txt,harry剛剛改變了他的本地拷貝中的這個文件并且提交到服務(wù)器,sally在提交之前更新它的工作拷貝得到了沖突:
$svnupdate
csandwich.txt
updatedtorevision2.
$ls-1
sandwich.txt
sandwich.txt.mine
sandwich.txt.r1
sandwich.txt.r2
在這種情況下,subversion不會允許你提交sandwich.txt,直到你的三個臨時文件被刪掉。
$svncommit--message"addafewmorethings"
svn:commitfailed(detailsfollow):
svn:abortingcommit:'/home/sally/svn-work/sandwich.txt'remainsinconflict
如果你遇到svn沖突,三件事你可以選擇:
“手動”合并沖突文本(檢查和修改文件中的沖突標志)。
用某一個臨時文件覆蓋你的工作文件。
運行svnrevert<filename>來放棄所有的修改。
一旦你解決了沖突,你需要通過命令svnresolved讓subversion知道,這樣就會刪除三個臨時文件,subversion就不會認為這個文件是在沖突狀態(tài)了。
[5]$svnresolvedsandwich.txt
resolvedconflictedstateof'sandwich.txt'
手工合并svn沖突
第一次嘗試解決沖突讓人感覺很害怕,但經(jīng)過一點訓(xùn)練,它簡單的像是騎著車子下坡。
這里一個簡單的例子,由于不良的交流,你和同事sally,同時編輯了sandwich.txt。sally提交了修改,當(dāng)你準備更新你的版本,沖突發(fā)生了,我們不得不去修改sandwich.txt來解決這個問題。首先,看一下這個文件:
$catsandwich.txt
toppieceofbread
mayonnaise
lettuce
tomato
provolone
<<<<<<<.mine
salami
mortadella
prosciutto
=======sauerkraut
grilledchicken
>>>>>>>.r2
creolemustard
bottompieceofbread
小于號、等于號和大于號串是沖突標記,并不是沖突的數(shù)據(jù),你一定要確定這些內(nèi)容在下次提交之前得到刪除,前兩組標志中間的內(nèi)容是你在svn沖突區(qū)所做的修改:
<<<<<<<.mine
salami
mortadella
prosciutto=======
后兩組之間的是sally提交的修改沖突:
=======sauerkraut
grilledchicken
>>>>>>>.r2
通常你并不希望只是刪除svn沖突標志和sally的修改。
【SVN沖突解決方法】相關(guān)文章:
員工沖突管理案例04-16
如何管理沖突員工04-19
團隊沖突管理技巧06-06
跨部門沖突的溝通技巧03-22
如何管理團隊沖突論文04-19
人員沖突管理辦法04-15
如何緩解叛逆期的沖突09-23
緩解親子沖突的小妙方09-23
管理者解決沖突的方法04-16