<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://jackxiang.com/post//</link>
<title><![CDATA[svn: Failed to add directory *****: an unversioned directory of the same name already exists]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Thu, 21 Apr 2011 08:30:13 +0000</pubDate> 
<guid>http://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	svn: Failed to add file &#039;Makefile&#039;: an unversioned file of the same name already exists<br/>执行更新(svn up)时报错。因为其他人新增一个文件到服务器，而本地却存在一个同名文件（未版本控制）<br/>先将本地重名文件改名，再执行&quot;svn up&quot;，之后再比较、合并文件。或者执行 &quot;svn up --force&quot;<br/><textarea name="code" class="shell" rows="15" cols="100">
/opt/csvn/bin/svn update --force .
</textarea><br/>这时可能会出现系统提示，因为subversion发现了local work copy和repository上的不一致。需要svn用户自己裁决，可以直接输入tf，即使用repository上版本即可，因为你没有更改project文件。即：<br/><br/>Conflict discovered in ‘EuM1.xcodeproj/project.pbxproj’.<br/>Select: (p) postpone, (df) diff-full, (e) edit,<br/>(mc) mine-conflict, (tc) theirs-conflict,<br/>(s) show all options: s<br/><br/>(e)&nbsp;&nbsp;edit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; – change merged file in an editor<br/>(df) diff-full&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;– show all changes made to merged file<br/>(r)&nbsp;&nbsp;resolved&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; – accept merged version of file<br/><br/>(dc) display-conflict – show all conflicts (ignoring merged version)<br/>(mc) mine-conflict&nbsp;&nbsp;&nbsp;&nbsp;– accept my version for all conflicts (same)<br/>(tc) theirs-conflict&nbsp;&nbsp;– accept their version for all conflicts (same)<br/><br/>(mf) mine-full&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;– accept my version of entire file (even non-conflicts)<br/>(tf) theirs-full&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;– accept their version of entire file (same)<br/><br/>(p)&nbsp;&nbsp;postpone&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; – mark the conflict to be resolved later<br/>(l)&nbsp;&nbsp;launch&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; – launch external tool to resolve conflict<br/>(s)&nbsp;&nbsp;show all&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; – show this list<br/><br/>Select: (p) postpone, (df) diff-full, (e) edit,<br/>(mc) mine-conflict, (tc) theirs-conflict,<br/>(s) show all options: tf<br/><br/>在这里，如果记不清楚各个选项的含义，可以输入s了解。另外，如果不确定自己是否更改了本地的project文件，可以输入dc了解本地代码和repository上的差异。<br/><br/>但是，如果你也为项目增加了新文件，这样你的本地project文件和repository上的project文件都有新的内容。我现在的做法是 tc，即让svn自动合并，当然合并的是有问题的，会标出哪部分是我本地的，哪部分是repository上的，我是手工解决冲突，然后再次提交，通知项 目成员更新。<br/><br/><br/><br/>编号<br/>出错信息<br/>问题剖析<br/>解决方案<br/>1.<br/> <br/>svn: Server sent unexpected return value (500 Internal Server Error) in response to OPTIONS request for &#039;http://svn.moon.ossxp.com/svn/test&#039;<br/>错误的用户名<br/>检查登录的用户名是否输入错误<br/> <br/>svn: 服务器发送了意外的返回值(500 Internal Server Error)，在响应 “OPTIONS” 的请求 “http://svn.moon.ossxp.com/svn/test” 中<br/>2.<br/> <br/>svn: OPTIONS of &#039;http://svn.moon.ossxp.com/svn/test&#039;: authorization failed: Could not authenticate to server: rejected Basic challenge (http://svn.moon.ossxp.com)<br/>错误的口令<br/>用正确的用户名/口令登录<br/> <br/>svn: 方法 OPTIONS 失败于 “http://svn.moon.ossxp.com/svn/test”: 认证失败: Could not authenticate to server: rejected Basic challenge (http://svn.moon.ossxp.com)<br/>3.<br/> <br/>svn: Server sent unexpected return value (403 Forbidden) in response to OPTIONS request for &#039;http://svn.moon.ossxp.com/svn/test&#039;<br/>用户无权限<br/>联系管理员，为用户分配权限<br/> <br/>svn: 服务器发送了意外的返回值(403 Forbidden)，在响应 “OPTIONS” 的请求 “http://svn.moon.ossxp.com/svn/test” 中<br/>4.<br/> <br/>svn: OPTIONS of &#039;http://www.moon.ossxp.com/svn/test&#039;: 200 OK (http://www.moon.ossxp.com)<br/>服务器地址错误，是普通Web页面，不支持SVN的 WebDAV 协议<br/>确认输入正确的 SVN 服务地址。可以在浏览器中输入该地址进行确认<br/> <br/>svn: 方法 OPTIONS 失败于 “http://www.moon.ossxp.com/svn/test”: 200 OK (http://www.moon.ossxp.com)<br/>5.<br/> <br/>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!<br/>是由于客户端的软件版本低于1.5.0造成的。服务器端对客户端软件版本进行了限制，以免对合并跟踪破坏。<br/>升级本地的Subversion客户端软件到1.5.0或以上版本。<br/>6.<br/> <br/>svn: This client is too old to work with working copy &#039;.&#039;. 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.<br/>安装了多个版本的SVN客户端(TSVN,Subclipse,...)，且各个客户端的版本不一致。高版本的SVN客户端会自动更新本地工作目录中的 .svn 目录下的文件格式，导致旧版本的SVN客户端不能继续访问该本地工作目录<br/>将本机安装的所有的SVN客户端都更新到同一个大版本，以避免本地工作目录的格式不一致<br/> <br/>svn: 此客户端对于工作副本 “.” 太旧。你需要取得更新的 Subversion 客户端，或者降级工作副本。 参见 http://subversion.tigris.org/faq.html#working-copy-format-change 以获得更详细的信息。<br/>7.<br/> <br/>svn: Working copy &#039;trunk/src&#039; locked svn: run &#039;svn cleanup&#039; to remove locks (type &#039;svn help cleanup&#039; for details)<br/>异常操作导致目录没有解锁。<br/> 一个简单的重现方法：在 .svn 目录下创建空的名为 lock 的文件<br/>使用命令行&quot;svn cleanup&quot; 或者类似的“清理”动作删除锁定<br/> <br/>svn: 工作副本“trunk/src”已经锁定 svn: 运行“svn cleanup”删除锁定 (输入“svn help cleanup”得到用法)<br/>8.<br/> <br/>日志中没有作者信息： ------------------------------------ r9 &#124; (没有作者信息) &#124; … ossxp.com anonymous commit test<br/>匿名提交导致没有作者信息<br/>检查版本库权限控制,禁止匿名提交<br/>9.<br/> <br/>正在发送 ... 传输文件数据.svn: 提交失败(细节如下): svn: Commit blocked by pre-commit hook (exit code 1) with output: 提交说明至少应包含 4 个字符, 或者太简单了。<br/>这是由于用户提交的提交说明(commit log)，太过简单了。在提交时需要输入有意义的 commit log。<br/>写有意义的提交说明，或者请求管理员更改版本库插件<br/>10.<br/> <br/>增加 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<br/>管理员设置了对新增文件是否重名（只有大小写不同）的文件进行检查。文件名只有大小写不同，在Windows上进行检出会造成麻烦<br/>不要添加重名（仅大小写不同）文件<br/> <br/>增加 src/文件aBc.txt 传输文件数据.svn: 提交失败(细节如下): svn: Commit blocked by pre-commit hook (exit code 1) with output: Clash: &#039;/trunk/src/文件aBc.txt&#039; &#039;/trunk/src/文件abc.txt&#039;<br/>11.<br/> <br/>svn: While preparing &#039;/home/jiangxin/tmp/svn.test/trunk/src/README.txt&#039; for commit svn: Inconsistent line ending style<br/>提交的文件已经设置了 svn:eol-style 属性，但是该文本内的换行符有DOS的换行符CRLF，也有Unix换行符LF，不一致！<br/>统一该文本文件内的换行符。Linux 下可以用dos2unix, unix2dos, sed等命令。Windows下可用UltraEdit 进行转换。<br/> <br/>svn: 当为提交操作准备“/home/jiangxin/tmp/svn.test/trunk/src/README.txt”时 svn: 不一致的行结束样式<br/>12.<br/> <br/>svn: Failed to add file &#039;Makefile&#039;: an unversioned file of the same name already exists<br/>执行更新(svn up)时报错。因为其他人新增一个文件到服务器，而本地却存在一个同名文件（未版本控制）<br/>先将本地重名文件改名，再执行&quot;svn up&quot;，之后再比较、合并文件。或者执行 &quot;svn up --force&quot;<br/> <br/>svn: 增加文件 &#039;Makefile&#039; 失败: 同名未版本控制的文件已存在<br/>13.<br/> <br/>Adding src/Makefile svn: Commit failed (details follow): svn: File &#039;/svn/test/trunk/src/Makefile&#039; already exists<br/>添加新文件，提交时报错。因为其他人已经先于我增加了该文件。<br/>先执行更新操作（&quot;svn up&quot;），再根据提示进行操作：合并/提交...<br/> <br/>增加 src/Makefile svn: 提交失败(细节如下): svn: 文件“/svn/test/trunk/src/Makefile”已存在<br/>14.<br/> <br/>$ svn up Conflict discovered in &#039;Makefile&#039;. 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<br/>多人同时编辑同一个文件时，可能会遇到冲突。别人先于我提交，则当我提交时要先更新。更新可能遇到不能自动解决的冲突<br/>使用工具进行冲突解决<br/> <br/>$ svn up 在 “Makefile” 中发现冲突。 选择: (p) 推迟，(df) 显示全部差异，(e) 编辑, (mc) 我的版本, (tc) 他人的版本, (s) 显示全部选项: p C Makefile 更新到版本 5。 冲突概要： 正文冲突：1<br/>15.<br/> <br/>svn: Commit failed (details follow): svn: File &#039;Makefile&#039; is out of date svn: File not found: transaction &#039;6-d&#039;, path &#039;/trunk/src/Makefile&#039;<br/>提交的文件已被他人删除<br/>先执行更新操作（&quot;svn up&quot;），再根据提示解决该树冲突：删除文件或继续添加...<br/> <br/>svn: 提交失败(细节如下): svn: 文件 “Makefile” 已经过时 svn: File not found: transaction &#039;6-c&#039;, path &#039;/trunk/src/Makefile&#039;<br/>16.<br/> <br/>svn: Commit failed (details follow): svn: File or directory &#039;/trunk/XXX&#039; is out of date; try updating svn: resource out of date; try updating<br/>基于旧版本修改是不允许的<br/>先更新（&quot;svn update&quot;），再提交<br/> <br/>svn: 提交失败(细节如下): svn: 文件或目录 “/trunk/XXX” 已经过时；请先更新 svn: resource out of date; try updating<br/>17.<br/> <br/>svn: DAV request failed; it&#039;s possible that the repository&#039;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 &#039;log&#039;: Repository has not been enabled to accept revision propchanges; ask the administrator to create a pre-revprop-change hook<br/>修改提交说明等操作属于高风险操作，因为该操作没有被版本控制，属于不可恢复的操作。缺省禁止。<br/>请联系管理员，启用该版本的相关钩子，允许修改“版本属性”。参见 管理员钩子设置<br/> <br/>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<br/>18.<br/> <br/>传输文件数据.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 为了避免每次添加文件手动设置，可以启用自动属性设置 ...<br/><br/>http://blog.sina.com.cn/s/blog_53b95aec0100ga3x.html<br/>
]]>
</description>
</item><item>
<link>http://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] svn: Failed to add directory *****: an unversioned directory of the same name already exists]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>