Кажется, что некоторый перебирающий жир конфигурации Подверсии может иметь вывод к повреждаемому зеркалу Подверсии.Подробнее: Нам разместили ряд репозиториев Подверсии на главном сервере и затем зеркально отраженный к двум удаленным серверам с помощью snvsync. Все транзакции сделаны с помощью HTTPS, и таким образом, Apache настроен на всех трех серверах, чтобы предоставить доступ HTTPS ведущим устройствам и зеркалам. В прошлую пятницу я открыл новый репозиторий на главном сервере, но в конфигурации Apache для нового repo, я установил SVNPath на то же как существующий репозиторий. Несколько часов спустя я зафиксировал ту ошибку. Я не совсем уверен ошибки, которые я вижу, теперь происходят из-за той опечатки или являются просто случайными, но безотносительно причины, репозиторий, который на самом деле владеет этим SVNPath, сообщил об ошибках во время попыток svnsync, и теперь одно из двух зеркал того репозитория имеет по крайней мере один недостающий файл. Вот сообщение, которое я получаю при попытке выполнить svnsync на том зеркале теперь:
svnsync: '/Repo-proxy-sync/path/to/missing/file/MissingFile.pm' path not found
Контроль последнего пересмотра зеркала подтверждает, что файл не присутствует. Недостающий файл сначала фиксировался в пересмотре № 16166 главного репозитория. Оглядываясь назад на журналы svnsync, кажется там, что пересмотр фиксировался чисто зеркалу (до создания нового репозитория):
Fri Aug 21 06:03:20 CDT 2015
Committed revision 16166.
Copied properties for revision 16166.
Немного после 8:00 было, когда ошибки начали происходить. Я также подозреваю, что мои перезапуски Apache для применения новой конфигурации могли быть фактором. Среди ошибок я видел в течение дня, было сообщение конкретно о пересмотре № 16166.
Fri Aug 21 08:01:58 CDT 2015
svnsync: Server sent unexpected return value (500 Internal Server Error) in response to OPTIONS request for 'http://master-ip/Repo'
Fri Aug 21 09:00:02 CDT 2015
svnsync: Server sent unexpected return value (500 Internal Server Error) in response to PROPFIND request for '/Repo/!svn/bln/16166'
Fri Aug 21 10:00:01 CDT 2015
svnsync: Server sent unexpected return value (500 Internal Server Error) in response to PROPFIND request for '/Repo'
Fri Aug 21 14:00:01 CDT 2015
svnsync: Server sent unexpected return value (500 Internal Server Error) in response to OPTIONS request for 'http://master-ip/Repo'
Несмотря на ошибки, главный репозиторий, кажется, прекрасен; я работал "svnadmin, проверяют" на последних изменениях, включая несколько изменений, фиксировавших прежде, чем создать другой репозиторий и после фиксации его configuraiton. Все были чистыми. Второе удаленное зеркало не сталкивалось ни с какими проблемами, синхронизирующими затронутый репозиторий, и в настоящее время имеет последние изменения без недостающих файлов.
Прямо сейчас плохое зеркало находится в пересмотре № 16168. Действительно ли возможно вызвать зеркало назад несколько изменений, возможно, к № 16165, и затем позволить синхронизациям прогрессировать снова? Или я оказывающийся перед необходимостью восстанавливать зеркало с нуля?
Я прибег к полной перестройке зеркала. Более 16000 коммитов облететь полмира - неприятное занятие, но, по крайней мере, это рабочее решение. Спасибо всем, кто прочитал!