| 
					编号 | 
					出错信息 | 
					问题剖析 | 
					解决方案 | 
		
			| 
					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
为了避免每次添加文件手动设置,可以启用自动属性设置 ... |