svn錯誤的解決方法(轉)

標題:svn: Failed to add directory '*****': an unversioned directory of the same name already existshtml

內容:xcode

svn: Failed to add file 'Makefile': an unversioned file of the same name already exists瀏覽器

執行更新(svn up)時報錯。由於其餘人新增一個文件到服務器,而本地卻存在一個同名文件(未版本控制)服務器

先將本地重名文件更名,再執行"svn up",以後再比較、合併文件。或者執行 "svn up --force"app


/opt/csvn/bin/svn update --force .ide


這時可能會出現系統提示,由於subversion發現了local work copy和repository上的不一致。須要svn用戶本身裁決,能夠直接輸入tf,即便用repository上版本便可,由於你沒有更改project文件。即:svn


Conflict discovered in ‘EuM1.xcodeproj/project.pbxproj’.工具

Select: (p) postpone, (df) diff-full, (e) edit,post

(mc) mine-conflict, (tc) theirs-conflict,this

(s) show all options: s


(e)  edit             – change merged file in an editor

(df) diff-full        – show all changes made to merged file

(r)  resolved         – accept merged version of file


(dc) display-conflict – show all conflicts (ignoring merged version)

(mc) mine-conflict    – accept my version for all conflicts (same)

(tc) theirs-conflict  – accept their version for all conflicts (same)


(mf) mine-full        – accept my version of entire file (even non-conflicts)

(tf) theirs-full      – accept their version of entire file (same)


(p)  postpone         – mark the conflict to be resolved later

(l)  launch           – launch external tool to resolve conflict

(s)  show all         – show this list


Select: (p) postpone, (df) diff-full, (e) edit,

(mc) mine-conflict, (tc) theirs-conflict,

(s) show all options: tf


在這裏,若是記不清楚各個選項的含義,能夠輸入s瞭解。另外,若是不肯定本身是否更改了本地的project文件,能夠輸入dc瞭解本地代碼和repository上的差別。


可是,若是你也爲項目增長了新文件,這樣你的本地project文件和repository上的project文件都有新的內容。我如今的作法是 tc,即讓svn自動合併,固然合併的是有問題的,會標出哪部分是我本地的,哪部分是repository上的,我是手工解決衝突,而後再次提交,通知項 目成員更新。




編號  出錯信息   問題剖析 解決方案

1.

 

svn: Server sent unexpected return value (500 Internal Server Error) in response to OPTIONS request for 'http://svn.moon.ossxp.com/svn/test'

錯誤的用戶名

檢查登陸的用戶名是否輸入錯誤

 

svn: 服務器發送了意外的返回值(500 Internal Server Error),在響應 「OPTIONS」 的請求 「http://svn.moon.ossxp.com/svn/test」 中

2.

 

svn: OPTIONS of 'http://svn.moon.ossxp.com/svn/test': authorization failed: Could not authenticate to server: rejected Basic challenge (http://svn.moon.ossxp.com)

錯誤的口令

用正確的用戶名/口令登陸

 

svn: 方法 OPTIONS 失敗於 「http://svn.moon.ossxp.com/svn/test」: 認證失敗: Could not authenticate to server: rejected Basic challenge (http://svn.moon.ossxp.com)

3.

 

svn: Server sent unexpected return value (403 Forbidden) in response to OPTIONS request for 'http://svn.moon.ossxp.com/svn/test'

用戶無權限

聯繫管理員,爲用戶分配權限

 

svn: 服務器發送了意外的返回值(403 Forbidden),在響應 「OPTIONS」 的請求 「http://svn.moon.ossxp.com/svn/test」 中

4.

 

svn: OPTIONS of 'http://www.moon.ossxp.com/svn/test': 200 OK (http://www.moon.ossxp.com)

服務器地址錯誤,是普通Web頁面,不支持SVN的 WebDAV 協議

確認輸入正確的 SVN 服務地址。能夠在瀏覽器中輸入該地址進行確認

 

svn: 方法 OPTIONS 失敗於 「http://www.moon.ossxp.com/svn/test」: 200 OK (http://www.moon.ossxp.com)

5.

 

The version of your subversion (client) is below 1.5.0, upgrade to 1.5.0 or above. SVN below 1.5.0 can not handle mergeinfo properly. It can mess up our automated merge tracking!

是因爲客戶端的軟件版本低於1.5.0形成的。服務器端對客戶端軟件版本進行了限制,以避免對合並跟蹤破壞。

升級本地的Subversion客戶端軟件到1.5.0或以上版本。

6.

 

svn: This client is too old to work with working copy '.'. You need to get a newer Subversion client, or to downgrade this working copy. See http://subversion.tigris.org/faq.html#working-copy-format-change for details.

安裝了多個版本的SVN客戶端(TSVN,Subclipse,...),且各個客戶端的版本不一致。高版本的SVN客戶端會自動更新本地工做目錄中的 .svn 目錄下的文件格式,致使舊版本的SVN客戶端不能繼續訪問該本地工做目錄

將本機安裝的全部的SVN客戶端都更新到同一個大版本,以免本地工做目錄的格式不一致

 

svn: 此客戶端對於工做副本 「.」 太舊。你須要取得更新的 Subversion 客戶端,或者降級工做副本。 參見 http://subversion.tigris.org/faq.html#working-copy-format-change 以得到更詳細的信息。

7.

 

svn: Working copy 'trunk/src' locked svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)

異常操做致使目錄沒有解鎖。

 一個簡單的重現方法:在 .svn 目錄下建立空的名爲 lock 的文件

使用命令行"svn cleanup" 或者相似的「清理」動做刪除鎖定

 

svn: 工做副本「trunk/src」已經鎖定 svn: 運行「svn cleanup」刪除鎖定 (輸入「svn help cleanup」獲得用法)

8.

 

日誌中沒有做者信息: ------------------------------------ r9 | (沒有做者信息) | … ossxp.com anonymous commit test

匿名提交致使沒有做者信息

檢查版本庫權限控制,禁止匿名提交

9.

 

正在發送 ... 傳輸文件數據.svn: 提交失敗(細節以下): svn: Commit blocked by pre-commit hook (exit code 1) with output: 提交說明至少應包含 4 個字符, 或者太簡單了。

這是因爲用戶提交的提交說明(commit log),太過簡單了。在提交時須要輸入有意義的 commit log。

寫有意義的提交說明,或者請求管理員更改版本庫插件

10.

 

增長 Logger.c 傳輸文件數據.svn: 提交失敗(細節以下): svn: Commit blocked by pre-commit hook (exit code 1) with output: Wide character in print at /opt/svn/svnroot/myrepos/hooks/scripts/check-case-insensitive.pl line 259. 發現文件名大小寫衝突: trunk/src/Logger.c 已經存在於 logger.c

管理員設置了對新增文件是否重名(只有大小寫不一樣)的文件進行檢查。文件名只有大小寫不一樣,在Windows上進行檢出會形成麻煩

不要添加劇名(僅大小寫不一樣)文件

 

增長 src/文件aBc.txt 傳輸文件數據.svn: 提交失敗(細節以下): svn: Commit blocked by pre-commit hook (exit code 1) with output: Clash: '/trunk/src/文件aBc.txt' '/trunk/src/文件abc.txt'

11.

 

svn: While preparing '/home/jiangxin/tmp/svn.test/trunk/src/README.txt' for commit svn: Inconsistent line ending style

提交的文件已經設置了 svn:eol-style 屬性,可是該文本內的換行符有DOS的換行符CRLF,也有Unix換行符LF,不一致!

統一該文本文件內的換行符。Linux 下能夠用dos2unix, unix2dos, sed等命令。Windows下可用UltraEdit 進行轉換。

 

svn: 當爲提交操做準備「/home/jiangxin/tmp/svn.test/trunk/src/README.txt」時 svn: 不一致的行結束樣式

12.

 

svn: Failed to add file 'Makefile': an unversioned file of the same name already exists

執行更新(svn up)時報錯。由於其餘人新增一個文件到服務器,而本地卻存在一個同名文件(未版本控制)

先將本地重名文件更名,再執行"svn up",以後再比較、合併文件。或者執行 "svn up --force"

 

svn: 增長文件 'Makefile' 失敗: 同名未版本控制的文件已存在

13.

 

Adding src/Makefile svn: Commit failed (details follow): svn: File '/svn/test/trunk/src/Makefile' already exists

添加新文件,提交時報錯。由於其餘人已經先於我增長了該文件。

先執行更新操做("svn up"),再根據提示進行操做:合併/提交...

 

增長 src/Makefile svn: 提交失敗(細節以下): svn: 文件「/svn/test/trunk/src/Makefile」已存在

14.

 

$ svn up Conflict discovered in 'Makefile'. Select: (p) postpone, (df) diff-full, (e) edit, (mc) mine-conflict, (tc) theirs-conflict, (s) show all options: p C Makefile Updated to revision 5. Summary of conflicts: Text conflicts: 1

多人同時編輯同一個文件時,可能會遇到衝突。別人先於我提交,則當我提交時要先更新。更新可能遇到不能自動解決的衝突

使用工具進行衝突解決

 

$ svn up 在 「Makefile」 中發現衝突。 選擇: (p) 推遲,(df) 顯示所有差別,(e) 編輯, (mc) 個人版本, (tc) 他人的版本, (s) 顯示所有選項: p C Makefile 更新到版本 5。 衝突概要: 正文衝突:1

15.

 

svn: Commit failed (details follow): svn: File 'Makefile' is out of date svn: File not found: transaction '6-d', path '/trunk/src/Makefile'

提交的文件已被他人刪除

先執行更新操做("svn up"),再根據提示解決該樹衝突:刪除文件或繼續添加...

 

svn: 提交失敗(細節以下): svn: 文件 「Makefile」 已通過時 svn: File not found: transaction '6-c', path '/trunk/src/Makefile'

16.

 

svn: Commit failed (details follow): svn: File or directory '/trunk/XXX' is out of date; try updating svn: resource out of date; try updating

基於舊版本修改是不容許的

先更新("svn update"),再提交

 

svn: 提交失敗(細節以下): svn: 文件或目錄 「/trunk/XXX」 已通過時;請先更新 svn: resource out of date; try updating

17.

 

svn: DAV request failed; it's possible that the repository's pre-revprop-change hook either failed or is non-existent svn: At least one property change failed; repository is unchanged svn: Error setting property 'log': Repository has not been enabled to accept revision propchanges; ask the administrator to create a pre-revprop-change hook

修改提交說明等操做屬於高風險操做,由於該操做沒有被版本控制,屬於不可恢復的操做。缺省禁止。

請聯繫管理員,啓用該版本的相關鉤子,容許修改「版本屬性」。參見 管理員鉤子設置

 

svn: DAV 請求失敗;多是版本庫的 pre-revprop-change 鉤子執行失敗或者不存在 svn: 至少有一個屬性變動失敗;版本庫未改變 svn: 設置屬性 「log」 出錯: Repository has not been enabled to accept revision propchanges; ask the administrator to create a pre-revprop-change hook

18.

 

傳輸文件數據.svn: 提交失敗(細節以下): svn: Commit blocked by pre-commit hook (exit code 1) with output: ==================== trunk/src/File.c : 屬性 svn:mime-type 或者 svn:eol-style 沒有設置 ==================== 管理員已經啓用換行符屬性檢查。每個新添加的文件必須 指定換行符。若是 svn:mime-type 屬性爲文本文件,則 必須設置 svn:eol-style 屬性。 對於二進制文件,執行以下命令: svn propset svn:mime-type application/octet-stream path/of/file 對於文本文件,能夠執行以下命令: svn propset svn:mime-type text/plain path/of/file svn propset svn:eol-style native path/of/file 爲了不每次添加文件手動設置,能夠啓用自動屬性設置 ...


http://blog.sina.com.cn/s/blog_53b95aec0100ga3x.html

相關文章
相關標籤/搜索