Запрос 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>
У кого-нибудь есть мысли?
Примечание. Все остальные репозитории работают. Это только один.
Ответы
Ответ 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.