SVN操作异常解决日志

1 svn locked某个目录-无法进行更新

产生这种情况大多是因为上次svn命令执行失败且被锁定了。如果cleanup没有效果的话只好手动删除锁定文件。

在命令提示符下cdsvn项目出现问题的文件所在目录下,然后执行如下命令

dellock/q/s就把锁删掉了。如图所示:


2.svn remains in conflict错误解决

情形:当有人在对某文件进行修改,假设为A文件,并提交至svn服务器,如果此时你正在修改A页面,并对其进行更新。会出现一些残余文件信息。如果在未删除这些文件
的前提下进行提交的话,会产生上述异常。
解决方案:删除这些文件便可。

Subversion错误信息一览表
注意:

1.不同的客户端(命令行,TortoiseSVN,AnkhSVN,Subclipse等)的出错信息可能稍有不同。

2.下面表格中的出错信息以http://svn.moon.ossxp.com/svn/test版本库做示例,仅供参考。



编号
出错信息
问题剖析
解决方案

1.
svn:Serversentunexpectedreturnvalue(500InternalServerError)inresponsetoOPTIONSrequestfor'http://svn.moon.ossxp.com/svn/test'
错误的用户名
检查登录的用户名是否输入错误

svn:服务器发送了意外的返回值(500InternalServerError),在响应“OPTIONS”的请求“http://svn.moon.ossxp.com/svn/test”

2.
svn:OPTIONSof'http://svn.moon.ossxp.com/svn/test':authorizationfailed:Couldnotauthenticatetoserver:rejectedBasicchallenge(http://svn.moon.ossxp.com)
错误的口令
用正确的用户名/口令登录

svn:方法OPTIONS失败于“http://svn.moon.ossxp.com/svn/test”:认证失败:Couldnotauthenticatetoserver:rejectedBasicchallenge(http://svn.moon.ossxp.com)

3.
svn:Serversentunexpectedreturnvalue(403Forbidden)inresponsetoOPTIONSrequestfor'http://svn.moon.ossxp.com/svn/test'
用户无权限
联系管理员,为用户分配权限

svn:服务器发送了意外的返回值(403Forbidden),在响应“OPTIONS”的请求“http://svn.moon.ossxp.com/svn/test”

4.
svn:OPTIONSof'http://www.moon.ossxp.com/svn/test':200OK(http://www.moon.ossxp.com)
服务器地址错误,是普通Web页面,不支持SVNWebDAV协议
确认输入正确的SVN服务地址。可以在浏览器中输入该地址进行确认

svn:方法OPTIONS失败于“http://www.moon.ossxp.com/svn/test”:200OK(http://www.moon.ossxp.com)

5.
Theversionofyoursubversion(client)isbelow1.5.0,upgradeto1.5.0orabove.SVNbelow1.5.0cannothandlemergeinfoproperly.Itcanmessupourautomatedmergetracking!
是由于客户端的软件版本低于1.5.0造成的。服务器端对客户端软件版本进行了限制,以免对合并跟踪破坏。
升级本地的Subversion客户端软件到1.5.0或以上版本。

6.
svn:Thisclientistoooldtoworkwithworkingcopy'.'.YouneedtogetanewerSubversionclient,ortodowngradethisworkingcopy.Seehttp://subversion.tigris.org/faq.html#working-copy-format-changefordetails.
安装了多个版本的SVN客户端(TSVN,Subclipse,...),且各个客户端的版本不一致。高版本的SVN客户端会自动更新本地工作目录中的.svn目录下的文件格式,导致旧版本的SVN客户端不能继续访问该本地工作目录
将本机安装的所有的SVN客户端都更新到同一个大版本,以避免本地工作目录的格式不一致

svn:此客户端对于工作副本“.”太旧。你需要取得更新的Subversion客户端,或者降级工作副本。参见http://subversion.tigris.org/faq.html#working-copy-format-change以获得更详细的信息。

7.
svn:Workingcopy'trunk/src'lockedsvn:run'svncleanup'toremovelocks(type'svnhelpcleanup'fordetails)
异常操作导致目录没有解锁。
一个简单的重现方法:在.svn目录下创建空的名为lock的文件
使用命令行"svncleanup"或者类似的清理动作删除锁定

svn:工作副本“trunk/src”已经锁定svn:运行“svncleanup”删除锁定(输入“svnhelpcleanup”得到用法)

8.
日志中没有作者信息:------------------------------------r9|(没有作者信息)|…ossxp.comanonymouscommittest
匿名提交导致没有作者信息
检查版本库权限控制,禁止匿名提交

9.
正在发送...传输文件数据.svn:提交失败(细节如下):svn:Commitblockedbypre-commithook(exitcode1)withoutput:提交说明至少应包含4个字符,或者太简单了。
这是由于用户提交的提交说明(commitlog),太过简单了。在提交时需要输入有意义的commitlog
写有意义的提交说明,或者请求管理员更改版本库插件

10.
增加Logger.c传输文件数据.svn:提交失败(细节如下):svn:Commitblockedbypre-commithook(exitcode1)withoutput:Widecharacterinprintat/opt/svn/svnroot/myrepos/hooks/scripts/check-case-insensitive.plline259.发现文件名大小写冲突:trunk/src/Logger.c已经存在于logger.c
管理员设置了对新增文件是否重名(只有大小写不同)的文件进行检查。文件名只有大小写不同,在Windows上进行检出会造成麻烦
不要添加重名(仅大小写不同)文件

增加src/文件aBc.txt传输文件数据.svn:提交失败(细节如下):svn:Commitblockedbypre-commithook(exitcode1)withoutput:Clash:'/trunk/src/文件aBc.txt''/trunk/src/文件abc.txt'

11.
svn:Whilepreparing'/home/jiangxin/tmp/svn.test/trunk/src/README.txt'forcommitsvn:Inconsistentlineendingstyle
提交的文件已经设置了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:Failedtoaddfile'Makefile':anunversionedfileofthesamenamealreadyexists
执行更新(svnup)时报错。因为其他人新增一个文件到服务器,而本地却存在一个同名文件(未版本控制)
先将本地重名文件改名,再执行"svnup",之后再比较、合并文件。或者执行"svnup--force"

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

13.
Addingsrc/Makefilesvn:Commitfailed(detailsfollow):svn:File'/svn/test/trunk/src/Makefile'alreadyexists
添加新文件,提交时报错。因为其他人已经先于我增加了该文件。
先执行更新操作("svnup"),再根据提示进行操作:合并/提交...

增加src/Makefilesvn:提交失败(细节如下):svn:文件“/svn/test/trunk/src/Makefile”已存在

14.
$svnupConflictdiscoveredin'Makefile'.Select:(p)postpone,(df)diff-full,(e)edit,(mc)mine-conflict,(tc)theirs-conflict,(s)showalloptions:pCMakefileUpdatedtorevision5.Summaryofconflicts:Textconflicts:1
多人同时编辑同一个文件时,可能会遇到冲突。别人先于我提交,则当我提交时要先更新。更新可能遇到不能自动解决的冲突
使用工具进行冲突解决

$svnup“Makefile”中发现冲突。选择:(p)推迟,(df)显示全部差异,(e)编辑,(mc)我的版本,(tc)他人的版本,(s)显示全部选项:pCMakefile更新到版本5。冲突概要:正文冲突:1

15.
svn:Commitfailed(detailsfollow):svn:File'Makefile'isoutofdatesvn:Filenotfound:transaction'6-d',path'/trunk/src/Makefile'
提交的文件已被他人删除
先执行更新操作("svnup"),再根据提示解决该树冲突:删除文件或继续添加...

svn:提交失败(细节如下):svn:文件“Makefile”已经过时svn:Filenotfound:transaction'6-c',path'/trunk/src/Makefile'

16.
svn:Commitfailed(detailsfollow):svn:Fileordirectory'/trunk/XXX'isoutofdate;tryupdatingsvn:resourceoutofdate;tryupdating
基于旧版本修改是不允许的
先更新("svnupdate"),再提交

svn:提交失败(细节如下):svn:文件或目录“/trunk/XXX”已经过时;请先更新svn:resourceoutofdate;tryupdating

17.
svn:DAVrequestfailed;it'spossiblethattherepository'spre-revprop-changehookeitherfailedorisnon-existentsvn:Atleastonepropertychangefailed;repositoryisunchangedsvn:Errorsettingproperty'log':Repositoryhasnotbeenenabledtoacceptrevisionpropchanges;asktheadministratortocreateapre-revprop-changehook
修改提交说明等操作属于高风险操作,因为该操作没有被版本控制,属于不可恢复的操作。缺省禁止。
请联系管理员,启用该版本的相关钩子,允许修改版本属性。参见管理员钩子设置

svn:DAV请求失败;可能是版本库的pre-revprop-change钩子执行失败或者不存在svn:至少有一个属性变更失败;版本库未改变svn:设置属性“log”出错:Repositoryhasnotbeenenabledtoacceptrevisionpropchanges;asktheadministratortocreateapre-revprop-changehook

18.
传输文件数据.svn:提交失败(细节如下):svn:Commitblockedbypre-commithook(exitcode1)withoutput:====================trunk/src/File.c:属性svn:mime-type或者svn:eol-style没有设置====================管理员已经启用换行符属性检查。每一个新添加的文件必须指定换行符。如果svn:mime-type属性为文本文件,则必须设置svn:eol-style属性。对于二进制文件,执行如下命令:svnpropsetsvn:mime-typeapplication/octet-streampath/of/file对于文本文件,可以执行如下命令:svnpropsetsvn:mime-typetext/plainpath/of/filesvnpropsetsvn:eol-stylenativepath/of/file为了避免每次添加文件手动设置,可以启用自动属性设置...
管理员启用了检查新文件换行符的扩展
为新增文件设置正确的svn:mime-type/svn:eol-style属性

你可能感兴趣的:(SVN操作异常解决日志)