编号 | 出错信息 | 信息解读 | 剖析及解决方案 |
---|---|---|---|
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! | subversion(客户端)的版本低于1.5.0,请升级到1.5.0或更高版本。低于1.5.0的SVN无法正确处理合并信息。它会搞乱我们的自动合并跟踪! | 升级本地的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: 此客户端对于工作副本 . 太旧。你需要取得更新的 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 |
日志中没有作者信息:------------------------------------ r9 | (没有作者信息) | … ossxp.com匿名提交测试 |
匿名提交导致没有作者信息。检查版本库权限控制,禁止匿名提交 |
9 | 正在发送 … 传输文件数据.svn: 提交失败(细节如下): svn: Commit blocked by pre-commit hook (exit code 1) with output: 提交说明至少应包含 4 个字符, 或者太简单了。 | 正在发送 … 传输文件数据.svn: 提交失败(细节如下): svn:提交被预提交挂钩(退出代码1)阻止,输出:提交说明至少应包含 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 | 增加 Logger.c 传输文件数据.svn: 提交失败(细节如下): svn:提交被预提交挂钩(退出代码1)阻止,在 /opt/svn/svnroot/myrepos/hooks/scripts/check-case-insensitive.pl 的259行输出宽字符。发现文件名大小写冲突: trunk/src/Logger.c 已经存在于 logger.c | 管理员设置了对新增文件是否重名(只有大小写不同)的文件进行检查。文件名只有大小写不同,在Windows上进行检出会造成麻烦,不要添加重名(仅大小写不同)文件 |
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: 提交失败(细节如下):svn: 提交被预提交挂钩(退出代码1)阻止,输出:trunk/src/File.c : 属性 svn:mime-type 或者 svn:eol-style 没有设置 | 管理员已经启用换行符属性检查。即管理员启用了检查新文件换行符的扩展。 每一个新添加的文件必须指定换行符。即为新增文件设置正确的 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 为了避免每次添加文件手动设置,可以启用自动属性设置 … |
19 | svn: E145000: New entry name required when importing a file | svn: E145000: 导入文件时,需要一个新的条目名称 | 文件名应在 SVN URL中给出。因此,命令应如下所示。svn import -m “导入文件test.txt” test.txt https://myrepo.com/svn/docs/ReleaseNotes/test.txt |
20 | svn: E205007: 无法使用外部编辑器获得日志信息;考虑设置环境变量 $SVN_EDITOR,或者使用 --message (-m) 或 --file (-F) 选项 svn: E205007: 没有设置 SVN_EDITOR,VISUAL 或 EDITOR 环境变量,运行时的配置参数中也没有 “editor-cmd” 选项 |
通过错误的描述信息我们得知在命令行上使用选项 -m 带上日志消息,或者使用选项 -F 指定一个日志文件,或者设置环境变量 $SVN_EDITOR 就可以了。 |
如果我要增加一个SVN_EDITOR的环境变量。可以直接在当前shell命令行下键入 export SVN_EDITOR=vim,指定vim为 SVN 编辑器,如果希望长久生效,把这条语句添加到用户主目录下的 .bash_profile 文件中即可。 |
21 | svn: E155010: 提交失败(细节如下): svn: E155010: 丢失了预定增加的“/Users/Anny/Documents/iOS/WeiYiBao/weiyibao/Pods/YUSegment/Pod” | - | 显然Pods/YUSegment已被删,所以提交报错,我们只需通过svn强制删除之,这样svn的提交计划就没有它们了,执行命令:svn delete --force Pods/YUSegment |