Subversion 錯誤信息一覽表
注意:
- 不同的客戶端(命令 行,TortoiseSVN, AnkhSVN, Subclipse等)的出錯信息可能稍有不同。
- 下面表格中的出錯信息以 http://svn.moon.ossxp.com/svn/test 版本庫做示例,僅供參考。
編號 | 出錯信息 | 問題剖析 | 解決方案 |
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) svn: 方法 OPTIONS 失敗於 “http://www.moon.ossxp.com/svn/test”: 200 OK (http://www.moon.ossxp.com) |
服務器地址錯誤,是普通Web頁面,不支持SVN的 WebDAV 協議 | 確認輸入正確的 SVN 服務地址。可以在瀏覽器中輸入該地址進行確認 |
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. Seehttp://subversion.tigris.org/faq.html#working-copy-format-change for details. svn: 此客戶端對於工作副本 “.” 太舊。你需要取得更新的 Subversion 客戶端,或者降級工作副本。 參見http://subversion.tigris.org/faq.html#working-copy-format-change以獲得更詳細的信息。 |
安裝了多個版本的SVN客戶端(TSVN,Subclipse,...),且各個客戶端的版本不一致。高版本的SVN客 戶端會自動更新本地工作目錄中的 .svn 目錄下的文件格式,導致舊版本的SVN客戶端不能繼續訪問該本地工作目錄 | 將本機安裝的所有的SVN客戶端都更新到同一個大版本,以避免本地工作目錄的格式不一致 | ||
7. | svn: Working copy 'trunk/src' locked svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details) svn: 工作副本“trunk/src”已經鎖定 svn: 運行“svn cleanup”刪除鎖定 (輸入“svn help cleanup”得到用法) |
異常操作導致目錄沒有解鎖。 一個簡單的重現方法:在 .svn目錄下創建空的名爲 lock 的文件 |
使用命令行"svn 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: 當爲提交操作準備“/home/jiangxin/tmp/svn.test/trunk/src/README.txt”時 svn: 不一致的行結束樣式 |
提交的文件已經設置了 svn:eol-style 屬性,但是該文本內的換行符有DOS的換行符CRLF,也有Unix換行符LF,不一致! | 統一該文本文件內的換行符。Linux 下可以用dos2unix, unix2dos, sed等命令。Windows下可用 UltraEdit 進行轉換。 |
12. | svn: Failed to add file 'Makefile': an unversioned file of the same name already exists svn: 增加文件 'Makefile' 失敗: 同名未版本控制的文件已存在 |
執行更新(svn up)時報錯。因爲其他人新增一個文件到服務器,而本地卻存在一個同名文件(未版 本控制) | 先將本地重名文件改名,再執行 "svn up",之後再比較、合併文件。或者執行 "svn up --force" |
13. | Adding src/Makefile svn: Commit failed (details follow): svn: File '/svn/test/trunk/src/Makefile' already exists 增加 src/Makefile svn: 提交失敗(細節如下): svn: 文件“/svn/test/trunk/src/Makefile”已存在 |
添加新文件,提交時報錯。因爲其他人已經先於我增加了該文件。 | 先執行更新操作("svn up"),再根據提示進行操作:合併/提交... |
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: 提交失敗(細節如下): svn: 文件 “Makefile” 已經過時 svn: File not found: transaction '6-c', path '/trunk/src/Makefile' |
提交的文件已被他人刪除 | 先執行更新操作("svn up"),再根據提示解決該樹衝突:刪除文件或繼續添 加... |
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: 提交失敗(細節如下): svn: 文件或目錄 “/trunk/XXX” 已經過時;請先更新 svn: resource out of date; try updating |
基於舊版本修改是不允許的 | 先更新("svn update"),再提交 |
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 爲了避免每次添加文件手動設置,可以啓用自動屬性設置 ... |