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