У меня есть программа, написанная на Python. Я использую изменения для пользователей, использующих SVN. В некоторых случаях SVN застревает, и изменения не загружаются на компьютер пользователя. В таком случае мне необходимо выполнить команду SVN CLEANUP
вручную. Проблема в том, что я не знаю, какая станция имеет такую ревизию. поэтому пользователи продолжают работать над более старыми версиями, что вызывает проблемы.Как сравнить локальные и репозитарные версии SVN?
Я хочу написать код, который на обеденном перечне программ будет сравнивать местную ревизию SVN с сервером, и если она не соответствует сообщению, появится сообщение.
мне удалось написать код, который получает пересмотр сервера:
import re,subprocess
svn_info = subprocess.check_output("svn info svn_address")
print (re.search(ur"Revision:\s\d+", svn_info)).group()
Но я не понимаю, как я могу получить местную версию для сравнения.
Если я иду в локальную папку SVN
и сделать:
svn info
Я вижу местную версию. Но я не знаю, как получить доступ к этим данным внутри кода python.
Любая идея?
Я не думаю, что это необходимо для установки пакета только для двух целых чисел. печать предназначена только для меня .. она не будет в самом коде .... Мне нужен способ узнать локальную версию svn. Вы можете помочь с этим? :) – avi
Да, вы правы, это была только личная точка зрения, не нужно бесконечных дебатов о такой крошечной проблеме дизайна ;-) Чтобы ответить на ваш вопрос, я верю, что информация svn (без svn-адреса) дает локальную пересмотр. Но я не использовал его какое-то время, поэтому я могу ошибаться. EDIT Извините, только что вы отредактировали свой вопрос ... –
это правда, что svn-информация дает ответ, но он работает, когда я делаю это вручную, поскольку я в правильной директории ... если я это делаю в python, он сообщает me: svn: warning: '.' не рабочая копия – avi