自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Eclipse向SVN提交程序時出現(xiàn)問題解決方法詳解

開發(fā) 項目管理
本文向大家介紹一下SVN提交問題,通過一個實例使用Eclipse向SVN提交程序時出現(xiàn)了問題,比較全面的剖析了在SVN提交過程中要注意的問題。

本節(jié)向大家講解一下在使用Eclipse向SVN提交程序時出現(xiàn)了問題該如何解決,在學(xué)習(xí)SVN過程中,關(guān)于SVN提交方面的問題大家可能經(jīng)常遇到,下面我們就來看一下使用Eclipse向SVN提交程序時出現(xiàn)了問題時的解決方法,希望通過本文的學(xué)習(xí)你對SVN提交有一定的認識。
在一個工程中增加了很多程序文件,這些文件有個特點:文件名兩兩相同,但是分列在兩個目錄中。我使用Mozilla開發(fā)平臺開發(fā)基于XUL的Firefox的擴展(extension),要支持中英雙語,所以在目錄en-US和zh-CN兩個目錄下有名字相同的子目錄和文件。當(dāng)提交到SVN時出現(xiàn)錯誤,發(fā)現(xiàn)Eclipse的SVN插件錯誤的將zh-CN目錄下的一個文件當(dāng)成了en-US目錄下的了,結(jié)果,出現(xiàn)了混亂,具體原因不詳,下面將現(xiàn)象和解決方法記錄了下來。
--------------------------------------------------------------------------------
工作環(huán)境
我工作在Fedora8下,Eclipse是FedoraEclipse3.3.0,安裝Fedora8時自動安裝的。SVN客戶端插件記不清楚是后來安裝的還是原來有的,在工作視圖中有個“SVN資源庫研究”項目。
--------------------------------------------------------------------------------
現(xiàn)象
SVN提交locale/zh-CN/overlay目錄時,錯誤提示:
條目已存在
svn:“/xxx/locale/zh-CN/overlay”已納入版本控制
提交locale/en-US/overlay下的文件時,錯誤提示如下:
文件系統(tǒng)沒有條目
svn:提交失敗(細節(jié)如下):
svn:文件找不到:事務(wù)“524-1”,路徑“/xxx/locale/en-US/overlay/文件名”
--------------------------------------------------------------------------------
分析
我感覺到版本管理狀態(tài)信息在兩個地方分別存儲:SVN系統(tǒng)內(nèi)部和Eclipse插件,兩者很容易造成不一致。我沒有找到確鑿的證據(jù),但是感覺到是Eclipse插件報告異常而造成的不一致。基于這個分析,我首先使用SVN命令行命令將SVN中的鎖進行清理,刪除問題目錄,并執(zhí)行數(shù)據(jù)庫恢復(fù)操作。然后將原來備份的程序文件一個一個拷到工作目錄中,主要不要拷備.svn目錄,然后將其作為新文件和子目錄重新上載,到這一步SVN數(shù)據(jù)庫狀態(tài)已經(jīng)正確恢復(fù)了。然后進入Eclipse,刷新工程,發(fā)現(xiàn)涉及的文件和目錄都用一個粗+號表示,不知道什么原因,但是發(fā)現(xiàn)Eclipse認為這些目錄是沒有提交的。這也是我認為Eclipse還保留了一份狀態(tài)信息。SVN提交后全部恢復(fù)。
--------------------------------------------------------------------------------
操作命令
首先進入本地工作目錄,即包含locale子目錄的目錄。執(zhí)行下面操作:svndeletelocale,返回信息:
svn:請使用--force選項強制執(zhí)行
svn:“locale/zh-CN/overlay”尚未納入版本控制,看來zh-CN/overlay沒有在服務(wù)器上創(chuàng)建,但是其下的文件卻提交到en-US/overlay下了。
我沒有敢直接強制刪除,先到locale/zh-CN目錄中嘗試刪除overlay,執(zhí)行下面的操作:svndeleteoverlay,返回信息:
Doverlay/xxx/xxxxx
Doverlay/xxx/xxx
D......
svn:在目錄“.”中
svn:在“%$s”中處理命令“%$s”出錯
svn:修改“overlay”的入口出錯
svn:“overlay”尚未納入版本控制
可見overlay下有內(nèi)容已經(jīng)提交給服務(wù)器了,但是overlay本身沒有在服務(wù)器上建立。
后來我又刪除locale/zh-CN下的文件,發(fā)現(xiàn)有個文件,暫且稱作“文件A”,被鎖定了,刪除時出現(xiàn)下面的信息:
svn:工作副本“.”已經(jīng)鎖定
svn:運行“svncleanup”刪除鎖定(輸入“svnhelpcleanup”得到用法)
也許就是因為在處理這個文件時出現(xiàn)異常造成鎖定沒有釋放。
執(zhí)行釋放命令,沒有產(chǎn)生輸出信息,如下:svncleanup
接下來就是強制刪除locale下的en-US和zh-CN,使用下面的命令:svn--forcedeletezh-CN和svn--forcedeleteen-US
接下來還在服務(wù)器的版本庫中執(zhí)行了恢復(fù)命令:svnadminrecover.好像沒有發(fā)現(xiàn)問題。至此,locale下的子目錄都已經(jīng)刪除了。然后,手工創(chuàng)建子目錄并將程序文件一個一個拷入。在包含locale子目錄的目錄下用命令行執(zhí)行svnaddlocale,提示說locale目錄已經(jīng)加入了版本控制,因為前面我并沒有使用svndelete命令刪除locale目錄,但是我確實使用Eclipse刪除了locale目錄,而且在“SVN資源庫研究”視圖下看不到locale目錄了,進一步印證SVN和Eclipse分別保留狀態(tài)信息。于是到locale中執(zhí)行svnadd*將所有的目錄加入,然后再到Eclipse下,發(fā)現(xiàn)locale目錄下的每個文件和目錄都用一個粗+號標記,使用菜單命令,將locale下的目錄提交給服務(wù)器,提示說locale還沒有加入,于是來到上級目錄,將locale目錄提交給服務(wù)器,至此,問題解決。本節(jié)有關(guān)SVN提交問題講解完畢。

 【編輯推薦】

  1. 經(jīng)驗總結(jié):SVN提交數(shù)據(jù)失敗問題行解決行之有效的方法
  2. 專家提醒 SVN提交工作時需要注意的事項
  3. ApacheSVN服務(wù)器安裝指導(dǎo)手冊
  4. SVN安裝使用手冊跟蹤介紹
  5. SVN服務(wù)器安裝指導(dǎo)手冊
責(zé)任編輯:佚名
相關(guān)推薦

2010-05-26 11:08:33

SVN管理

2009-02-18 14:28:23

編碼亂碼JSP

2010-08-03 09:12:52

Flex安全沙箱

2009-12-28 10:56:45

WPF Image

2013-06-14 10:48:53

IIS 7

2011-03-30 12:55:51

EclipseADTAndroid

2010-07-29 15:28:47

Flex安全沙箱

2009-07-17 14:33:05

Jython中文問題

2009-02-26 11:13:41

Weblogic中間件JSP

2010-05-24 18:46:50

SVN圖標

2009-12-22 11:21:43

WCF跨域訪問

2009-06-09 15:51:07

Java ee中文問題解決方法

2010-01-13 21:06:37

雙絞線

2011-05-18 14:00:30

在線備份

2009-08-14 13:49:58

Rails中文問題

2009-11-17 10:43:59

ubuntu 9.10輸入法解決方法

2010-05-11 15:09:51

Unix系統(tǒng)

2009-10-29 10:04:57

VB.NET Read

2011-07-27 15:03:54

iPhone 升級 編譯

2011-04-29 11:02:31

激光打印機
點贊
收藏

51CTO技術(shù)棧公眾號