У меня есть python script, который использует pysvn и проверяет или обновляет локальную копию, полученную также из локального репо.
client.checkout(url,
path,
revision=pysvn.Revision(pysvn.opt_revision_kind.number, RevNumber),
ignore_externals=False)
Я запускаю это на машине Windows, в которой я не установил subversion. Svnsync, используемый для получения копии фактического репо, был выполнен на другой машине. При этом я предположил, что PySVN не требует установки SVN для проверки или обновления из папки, содержащей результат svnsync.
Проблемы начинаются, когда в Windows некоторые репозитории имеют файлы с строчными и смешанными версиями. Windows сообщит об ошибке при обновлении или создании двух файлов с различным случаем, поэтому я перешел в Ubuntu, чтобы запустить script.
В Ubuntu я получаю эту ошибку при запуске my script с помощью pysvn:
pysvn._pysvn_2_6.ClientError: Unable to open an ra_local session to URL
Unable to open repository xxxx
Expected FS format between '1' and '3'; found '4'
После некоторого поиска это похоже сообщение об ошибке, связанное с svn 1.6, но pysvn якобы поддерживает это, а sudo apt-get install python-svn
сообщает мне, что у меня есть последняя версия...
Итак, это из-за SVN или pySVN? Если Windows pysvn не жалуется на это, почему делает Ubuntu? Или это связано с тем, что svn на машине или нет?
Полагая, что это поможет мне ответить на предыдущее сообщение по существу по той же теме
Это связано с тем, что ваш Ubuntu обращается к репо со слишком старой версией API SVN.
Окна одно нормально, потому что, очевидно, использует более новую версию.
Двоичные наборы Windows
Примечание. Эти комплекты окон - это все, что вы необходимость. Нет необходимости устанавливать любые комплекты Subversion.
и
Бинарные наборы Mac OS X
Примечание. Эти комплекты Mac OS X - это все, что вы необходимость. Нет необходимости устанавливать любые комплекты Subversion.
но придите
Linux-бинарные наборы
он ничего не говорит о НЕ нуждающемся в Subversion. Я предполагаю, что PySVN linux нуждается в подрывной деятельности и, следовательно, использует только 1.5.x
В дополнение к этому, он говорит только
построено против Subversion 1.5.6 и Subversion 1.6.5
для Windows и Mac OSX, а не для Linux
Вам нужно будет установить SVN-клиент на Ubuntu, который поддерживает новый формат репо. Очевидно, вы можете подождать, пока обновленная версия PySVN не будет обновлена, или найдите другой инструмент SVN...