Нужно ли PySVN устанавливать Subversion?

1

У меня есть 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 на машине или нет?

Полагая, что это поможет мне ответить на предыдущее сообщение по существу по той же теме

Теги:
svn
pysvn
ubuntu-9.04

1 ответ

1
Лучший ответ

Это связано с тем, что ваш Ubuntu обращается к репо со слишком старой версией API SVN.

Окна одно нормально, потому что, очевидно, использует более новую версию.

По страница загрузки PySVN:

Двоичные наборы 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...

  • 0
    Спасибо за то, что обратили внимание на детали между версиями Windows и Linux. Я нахожусь в процессе загрузки Ubuntu 9.10, так как респондент в моем другом потоке предполагает, что в этой версии Ubuntu есть Subversion 1.6. Надеемся, что Linux pysvn будет работать тогда, если он будет работать на репозитории с помощью svn-движка, а интерфейс между ними не изменился ... Я сообщу в ответ.
  • 0
    Linux pysvn, кажется, использует механизм, который доступен локально. Я просто запустил сбойный скрипт на Ubuntu 9.10, и он работал нормально, поэтому нам не нужно ждать обновления pysvn, чтобы он работал
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню