Svn常见问题及相关原因

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 为了避免每次添加文件手动设置,可以启用自动属性设置 ... 
管理员启用了检查新文件换行符的扩展 
为新增文件设置正确的 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 → 检查修改看看哪些文件在本地或是服务器上已经有了改动。

posted @ 2013-09-29 22:34  荔枝林  阅读(1211)  评论(0编辑  收藏  举报