Подтвердить что ты не робот

Запрос SVN "PROPFIND не выполнен..."

Я просматривал репозиторий (скажем, foo) из SVN, выполняя некоторые другие коммиты/обновления. Мой сервер умер, и я остался с неполной проверкой. Хорошо. Проблема в том, когда я возвращаюсь, чтобы получить доступ к репозиторию foo, но я не могу. Он просто висит навсегда.

Итак, я пошел в 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>

У кого-нибудь есть мысли?

Примечание. Все остальные репозитории работают. Это только один.

4b9b3361

Ответ 1

Запустили ли вы 'svnadmin recover', поскольку пользователь обычно использует репозиторий (например, apache account)?

Если не причина в том, что некоторые файлы теперь принадлежат пользователю, выполняющему 'svnadmin recover', оставляя учетную запись Apache без прав на изменение файлов репозитория.

Ответ 2

Я получил эту ошибку propfind, потому что власть погасла, и я забыл перезапустить svnserve и экземпляры Apache =)

Ответ 3

Если вы настраиваете сервер SVN через HTTP (S), это может быть просто сервером Apache, говорящим, что он не понимает PROPFIND.

В моем случае это произошло, когда я установил "Местоположение" в конфигурации Apache HTTPD без указания его реализации SVN WebDAV (SVN-модуль является расширением на 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>

Кажется логичной ошибкой после того, как я ее нашел, но взял меня на некоторое время, чтобы найти ошибку...

Ответ 4

Иногда разные версии Java могут привести к тому, что плагин Eclipse SVN (мой случай Subversive 1.7) не будет работать.

Я использовал JVM 1.6, но мой путь к среде указывал на более новую версию (из-за установки веб-старта Oracle Java или чего-то еще).

Итак, я вернулся к старой версии Java 1.6, и она сработала.

Ответ 5

В моем случае мне нужен другой протокол:

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

Ответ 6

Если конкретное сообщение об ошибке является "надменным концом файла"... httpd error_log показал, что:

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

но синтаксическая ошибка отсутствует.

Похоже, что .php файлы интерпретируются вместо того, чтобы обрабатываться как текст - очевидно, связанные с конфигурацией MIME-типов...

Ну, ответ прост:

AddType text/plain .php

Просто добавьте это в свой файл конфигурации виртуального хоста, и apache2 перестанет интерпретировать PHP в этом репозитории. Источник

Ответ 7

В моем случае я мог бы решить это, изменив значение "commit to" из " https://localserver/svn/project" в файл:///F:./Хранилища/проект"

Он начал сбой после изменения порта HTTPS, потому что я установил сертификат в своем локальном IIS и столкнулся с сервером SVN Apache.