Svn Up出错:“svn:服务器发送意外返回值(403 Forbidden)以响应OPTIONS对<url>的请求</url>

时间:2012-01-18 12:01:01

标签: svn unix

我的操作系统版本: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显示tcmc等等的一些选项。

如果我想使用mctc保持我或他人之间的冲突 即使在我选择mctc

后进行双重检查后,即便如此

在我从项目根目录(即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这种行为的任何建议吗?

2 个答案:

答案 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