2009-05-26 197 views
21

我正在從SVN檢出一個存儲庫(比如foo),同時做一些其他的提交/更新。我的服務器死了,我剩下一個不完整的結帳。精細。問題是當我回去訪問foo存儲庫時,但我無法。它只是永遠掛起。SVN「PROPFIND請求失敗......」

所以,我去http://subversion.apache.org/faq.html#bdb-recovery和跑svnadmin recover。我收到一個錯誤,所以最後我不得不使用db_recover,命令說它成功完成。

現在,當我嘗試訪問該存儲庫,我得到:

svn: PROPFIND request failed on '/foo' 
svn: PROPFIND of '/foo': 500 Internal Server Error (https://svn.foobar.com) 

另外,如果我定位到https://svn.foobar.com/foo我看到:

<D:error> 
<C:error/> 
<m:human-readable errcode="160029"> 
Could not open the requested SVN filesystem 
</m:human-readable> 
</D:error> 

任何人有什麼想法?

注意:所有其他存儲庫的工作。這只是這一個。

+0

svnadmin恢復的錯誤是什麼? – thekbb 2012-02-24 23:19:01

回答

3

你是否像用戶通常使用存儲庫(例如apache帳戶)那樣運行'svnadmin recover'?

如果不是原因可能是某些文件現在由運行'svnadmin recover'的用戶所擁有,而使apache帳戶無權更改存儲庫文件。

+1

在這種情況下,一個簡單的 chown apache.apache -R/path/to/repos 應該糾正問題... – stephendl 2009-09-28 11:50:11

1

,因爲停電了,我忘了重新啓動的svnserve和Apache實例=)

0

在我來說,我得到這個PROPFIND錯誤,我需要一個不同的協議:

svn co svn+ssh://svn.xyz.com/directory 
0

如果具體的錯誤信息是「permature end of file」... httpd的error_log表明:

[error] PHP Parse error: syntax error, unexpected T_STRING in /var/www/repos/... 

但是沒有語法錯誤。

好像.php文件進行解釋,而不是被視爲文本 - 顯然與MIME類型配置...

那麼,答案很簡單:

AddType text/plain .php 

只需添加到您的虛擬主機配置文件和apache2將停止在該存儲庫中解釋PHP。 Source

1

如果你是通過HTTP(S)設置SVN服務器的人,這可能只是Apache服務器說它不瞭解PROPFIND。

在我的情況下發生這種情況時,我設置一個「位置」在Apache httpd設置W/O指定它是SVN,WebDAV實現(SVN MOD的是WebDAV的延伸):

<Location /svn> 
     SVNParentPath /data/scm/repositories/ 
     SVNPathAuthz off 
     AuthType Basic 
     AuthName "xxxxx" 
     AuthBasicProvider ldap 
     AuthLDAPURL ldap://xxx.yy:389/DC=aaaa,DC=bbbb?sAMAccountName?sub 
     Require valid-user 
    </Location> 

取而代之的是:

<Location /svn> 
    DAV svn 
    SVNParentPath /data/scm/repositories/ 
    SVNPathAuthz off 
    AuthType Basic 
    AuthName "xxxxx" 
    AuthBasicProvider ldap 
    AuthLDAPURL ldap://xxx.yy:389/DC=aaaa,DC=bbbb?sAMAccountName?sub 
    Require valid-user 
</Location> 

我發現它後似乎是一個邏輯錯誤,但花了我相當長的時間才發現錯誤...

1

有時安裝不同的Java版本可能導致Eclipse SVN插件(我的情況Subversive 1.7)無法正常工作。

我使用JVM 1.6,但我的環境路徑指向一個較新的版本(由於安裝Oracle Java Web Start或其他)。

所以我回到舊的Java 1.6版本,它的工作。

0

在我的情況下,我可以解決它將「commit to」值從「https://localserver/svn/project」更改爲「file:/// F:/ Repositories/project」。

它在更改HTTPS端口後開始失敗,因爲我在本地IIS中安裝了一個證書,並且它與SVN Apache服務器發生衝突。