SVN常見問題及相關原因,供各位查閱

1. svn: Server sent unexpected return value (500 InternalServer 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 Basicchallenge (http://svn.moon.ossxp.com) 
錯誤的口令 
用正確的用戶名/口令登錄 

svn: 方法 OPTIONS 失敗於 “http://svn.moon.ossxp.com/svn/test”: 認證失敗: Couldnot authenticate to server: rejected Basic challenge(http://svn.moon.ossxp.com) 

3. svn: Server sent unexpected return value (403Forbidden) 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 workingcopy. See http://subversion.tigris.org/faq.html#working-copy-format-change fordetails. 
安裝了多個版本的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 'svncleanup' 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 (exitcode 1) with output: 提交說明至少應包含 4 個字符或者太簡單了。 
這是由於用戶提交的提交說明(commit log),太過簡單了。在提交時需要輸入有意義的 commit log。 
寫有意義的提交說明,或者請求管理員更改版本庫插件 

10. 增加 Logger.c 傳輸文件數據.svn: 提交失敗(細節如下): svn: Commit blocked by pre-commit hook (exitcode 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: Inconsistentline 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 fileof the same name already exists 
執行更新(svn up)時報錯。因爲其他人新增一個文件到服務器,而本地卻存在一個同名文件(未版本控制) 
先將本地重名文件改名,再執行"svn up",之後再比較、合併文件。或者執行 "svn up --force" 

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

13. Adding src/Makefile svn: Commit failed (detailsfollow): 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 ordirectory '/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 therepository's pre-revprop-change hook either failed or is non-existent svn: Atleast one property change failed; repository is unchanged svn: Error settingproperty '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; askthe administrator to create a pre-revprop-change hook 

18. 傳輸文件數據.svn: 提交失敗(細節如下): svn: Commit blockedby 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 propsetsvn:eol-style native path/of/file 爲了避免每次添加文件手動設置,可以啓用自動屬性設置 ... 
管理員啓用了檢查新文件換行符的擴展 
爲新增文件設置正確的 svn:mime-type 和/或 svn:eol-style 屬性

相關問題:

1.A:用戶在登陸系統時,輸入用戶名和密碼後,系統提示如下錯誤:403 Forbidden, 這是爲什麼?
Q:首先確定輸入的路徑是否正確;
如路徑正確,請該用戶與配置管理員確定是否具有訪問該配置庫的權限。

2.A:用戶在登陸系統時,輸入用戶名和密碼後,系統提示如下錯誤:authorization failed,這是爲什麼?
Q:請確定輸入的用戶密碼是否正確,如果忘記密碼,請與配置管理員聯繫。

3.A:在修改文件後,點擊“SVN commit”後,系統提示:Error commit failed,這是爲什麼?
Q:請與配置管理員確認您對該配置庫是否具有“寫”的權限。

4.A:在登錄服務器時,不能正確登陸,並提示如下錯誤信息:could not resolve hostname,什麼原因?
Q:該問題是因爲不能解析地址中的域名,請檢查TCP/IP 的DNS服務器地址設置是否正確。(我們公司地址中使用的是域名,直接使用IP應不會出現該問題)

5.A:用戶在登錄時,輸入正確的地址,按“回車”鍵後,系統長時間未反應,最後出現“400 Bad Request”的錯誤,爲什麼?
Q:原因是卡巴斯基的WEB反病毒保護功能和SVN衝突:解決方案:
    在“設置”->"服務"->"網絡設置"->"端口設置中取消對80端口的監控;或在“設置”-〉保護-〉信任區域-〉添加-〉瀏覽,瀏覽TortoiseSvn 安裝目錄下TortoiseSvn\bin\TortoiseProc.exe文件即可。

6.A:爲什麼客戶端無法提交,報告需要"clean up"的錯誤。
Q:Subversion客戶端在提交內容之前會在本地的工作拷貝寫日誌,防止其他客戶端再次作操作,如果這個提交過程中發生錯誤,就會存在未清理的日誌,解決這個問題只需要運行清理命令。需要在目錄或其父目錄執行"右鍵->TortoiseSVN->CleanUp"。
7.A:爲什麼添加的文件,別人看不到,版本庫裏也沒有?
Q:最可能的原因是,你用svn add(如果是TortoiseSVN可能是“右鍵->TortoiseSVN->Add...”)添加某個文件,只是在本地註明某個文件是預定要增加,而沒有實際添加到版本庫,要添加到版本庫必須執行svn commit(如果是TortoiseSVN可能是“右鍵->svn commit...”)。

8.A:爲什麼我本地刪除的文件,本地看不到,但別人那還仍然存在?
Q:最可能的原因是,你用svn delete(如果是TortoiseSVN可能是“右鍵->TortoiseSVN->delete...”)刪除某個文件,只是在本地註明某個文件是預定要刪除的,而沒有實際刪除到版本庫,要刪除的到版本庫必須執行svn commit(如果是TortoiseSVN可能是“右鍵->svn commit...”)。

9.A:SVN是否具有將目前版本回退到以前的歷史版本的功能?
Q:有,點擊你到所需要的jsp或者java的文件,點擊右鍵,"顯示日誌",點到你需要恢復的版本,右擊"復原此版本".點擊確認,然後按提交.

10.A:SVN是否具有將所有做增加刪的文件導出(例如:release 的時候需要的修改的文件名及路徑)
Q:有到你所需要查看的目錄文件,右擊,"顯示日誌",在窗口中選擇你需要查看的幾個版本,右擊"複製到剪切版".打開TXT,可以將修改的文件,提交人,版次,信息都顯示

11.A:SVN中修改一個文件,如在提交前,放棄修改,如何操作

Q:有到你所需要查看的目錄文件,右擊,"SVN還原",則恢復到未提交前的程式.

12.A:SVN中提交文件前,如何知道是否在修改文件的這段期間有人也修改了程式,減少提交有可能產生的衝突

Q:將你對文件的修改發送給版本庫,稱爲提交修改。但在你提交之前要確保你的文件是最新的。你可以直接使用TortoiseSVN → 更新,或者,你可以先使用TortoiseSVN → 檢查修改看看哪些文件在本地或是服務器上已經有了改動。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章