我的操作系统版本:CentOS 6.0
我的Svn版本:1.6.11
[shashaDenovo@shashaDenovo PRJ]$ svn info
Path: .
URL: http://xxx.xxx.x.xxx/projectPRJ/PRJ/trunk
Repository Root: http://xxx.xxx.x.xxx/projectPRJ
Repository UUID: some alph-numeric characters
Revision: 956
Node Kind: directory
Schedule: normal
Last Changed Author: shashaDenovo
Last Changed Rev: 956
Last Changed Date: 2012-02-16 17:18:04 +0530 (Thu, 16 Feb 2012)
My Project Dir Structure:
PRJ
---srcDir
---dir_A
---dir_B
-----dir1
----dir_@
-----file1.ext
-----file2.ext
-----file3.ext
----dir_$
-----file4.ext
-----file5.ext
-----file6.ext
----dir_#
-----file7.ext
-----dir2
---dir_C
---libDir
---etcDir1
---etcDir2
问题:
在我的项目中
在做svn的时候,我在一些文件中遇到冲突,假设我在file5.ext中遇到冲突
然后svn显示tc
,mc
等等的一些选项。
如果我想使用mc
或tc
保持我或他人之间的冲突
即使在我选择mc
或tc
在我从项目根目录(即PRJ这里)svn up后提交更改后,它给出了以下错误消息: -
[shashaDenovo@shashaDenovo PRJ]$ svn up
svn: Server sent unexpected return value (403 Forbidden) in response to OPTIONS request for 'http://xxx.xxx.x.xxx/projectPRJ'
有关SVN这种行为的任何建议吗?
答案 0 :(得分:4)
<强>解决方案:强> 有一个明显的解决方案是删除PRJ目录并进行新的检查。
但问题是,如果结账时间大约2-3小时,删除并完成新的CO不是一个好的选择。
所以我做了什么:我在我编辑的源代码文件的父目录中运行"for x in
ls ; do echo Updating, $x; svn up $x; done"
(即dir1)
[shashaDenovo@shashaDenovo ~]$cd PRJ/srcDir/dir_B/dir1
[shashaDenovo@shashaDenovo dir1]$ for x in `ls`; do echo Updating, $x; svn up $x; done
Updating, dir_@
At revision 958.
Updating, dir_$
svn: Server sent unexpected return value (403 Forbidden) in response to OPTIONS request for 'http://XXX.XXX.X.XXX/projectPRJ'
Updating, dir_#
At revision 958.
从输出中我开始知道&#34; dir _ $&#34;
的一些问题[shashaDenovo@shashaDenovo dir1]$ rm -fr dir_$
[shashaDenovo@shashaDenovo dir1]$ svn info #you get URL from this command
[shashaDenovo@shashaDenovo dir1]$ svn co URL/dir_$
[shashaDenovo@shashaDenovo dir1]$ svn up
完成了:)
但是我删除了文件系统中的损坏文件夹,并检查了有问题的目录。 虽然它没有以正确的方式真正解决错误,但我节省了我的时间:)。
注意:你必须检查目录,你不能检出文件(它给出了以下错误)
svn: URL 'http://xxx.xxx.x.xxx/projectPRJ/PRJ/trunk/srcDir/dir_B/dir1/dir_$/file5.ext' refers to a file, not a directory
如果有人有更好的想法,请分享。
由于
答案 1 :(得分:2)
如果您使用其他帐户签出SVN存储库,则会发生此错误。帐户数据存储到磁盘,下次要提交到存储库时,SVN可能使用错误的帐户。它可以帮助在控制台或终端中指定正确的帐户:
svn commit -m "my message" --username my_username --password my_password