Как заставить работать hgsubversion?

Онлайн-документация для hgsubversion - отстой, ИМО (ненавижу это говорить). Я следовал инструкциям в Кратком руководстве.

Что я сделал?

  1. Я установил Mercurial:

    D: \ repos \ experimental> hg --version Mercurial Distributed SCM (версия 1.6)

  2. Я установил TortoiseHg, чтобы он соответствовал версии Mercurial.

  3. Скачал репозиторий hgsubversion:

    D: \ devapps> hg clone http://bitbucket.org/durin42/hgsubversion

  4. Я изменил свой .hgrc следующим образом:

    [расширения] hgsubversion = D: \ devapps \ hgsubversion \ hgsubversion

    D: \ repos \ experimental> hg help hgsubversion расширение hgsubversion - интеграция с репозиториями Subversion

    hgsubversion - это расширение для Mercurial, которое позволяет ему действовать как клиент Subversion, предлагая быструю, инкрементную и двунаправленную синхронизацию.

  5. Я установил PySVN для Python 2.5 < / а>.

  6. Я попытался клонировать репозиторий SVN:

    ...> hg clone http://path/to/repository/ репозиторий-hg

И я получил следующий результат:

...
abort: Subversion 1.5.0 or later required, but no bindings were found!

Какого черта? В инструкциях, которым я следую, нет ничего, что говорило бы вам, как это установить. Любая помощь приветствуется! (Я просто хочу как можно больше работать без SVN - ПОЖАЛУЙСТА, ПОМОГИТЕ!).


person les2    schedule 23.07.2010    source источник
comment
ну, я закончил с этим дерьмом ... когда для этого не нужно быть гуру Python, может быть, я попробую ... но пока я найду другой способ взламывать мои источники java, кроме отладки неясных проблем с питоном ... - горький человек   -  person les2    schedule 24.07.2010
comment
Голосование. Я тоже потратил на это слишком много дней. Думаю надо компилировать привязки SWIG ИЗ ИСТОЧНИКА! Подобные вещи держат меня подальше от * nix. :(   -  person leoger    schedule 24.07.2010
comment
Я нашел способ заставить это работать без компиляции из источника ... см. ответ, который я опубликовал ... в основном удалите обычную установку Mercurial из PATH и оставьте только TortoiseHg ...   -  person les2    schedule 27.07.2010
comment
Да, как сказано в Quick Start, привязки связаны с TortoiseHg, так что все готово после установки и клонирования репозитория. См. Также tortoisehg.bitbucket.org/manual/1.1/nonhg.html# hgsubversion-svn, что еще раз объясняет, что вам нужно только клонировать репозиторий hgsubversion.   -  person Martin Geisler    schedule 12.08.2010
comment
На случай, если у кого-то такая же проблема, как у меня: начиная с THG 3.4 привязки subversion больше не объединяются. Их нужно загружать и устанавливать отдельно. См .: bitbucket.org/tortoisehg/thg/wiki/libsvn   -  person Uwe Raabe    schedule 30.01.2016


Ответы (5)


Как описано в моем сообщении в блоге, вам нужно сделать следующее, чтобы это заработало:

  • Удалите / path / to / Mercurial из переменной PATH
  • оставьте только / путь / к / TortoiseHg в ПУТЬ

Теперь, когда вы вызываете hg из командной строки, будет использоваться двоичный файл TortoiseHg, а расширение hgsubversion будет работать, как заявлено!

Я надеюсь, что это помогает кому-то!

person les2    schedule 27.07.2010
comment
На самом деле я собирался предложить вам это сделать, поскольку установка Mercurial и TortoiseHg является избыточной, поскольку последний пакетирует первый. В любом случае, +1, и рад, что вы нашли выход. И спасибо за ваш пост в блоге. - person s.m.; 27.07.2010
comment
TortoiseHg больше не включает привязки. - bitbucket.org/tortoisehg/thg/wiki/libsvn - person Mike C; 03.02.2016
comment
Ссылка на блог мертва - person DCShannon; 25.08.2016
comment
Сегодня проблема, скорее всего, возникла просто из-за того, что TortoiseHg больше не включает привязки, и лучше всего установить их со страницы выше, а не использовать эту процедуру. - person jmd; 21.10.2016

Покопавшись в той же проблеме, я нашел хорошую инструкцию по битбакету, которая была решением для правильной установки привязок python. https://bitbucket.org/tortoisehg/thg/wiki/libsvn

person AdvanTiSS    schedule 24.09.2016

На самом деле я мало что знаю о Windows, но я понимаю, что TortoiseHG должен объединять все, что вам нужно. У них есть некоторые инструкции, которые, похоже, вы уже выполнили, но, может быть, вы можете попросить помощи в их списке рассылки? Они в значительной степени лучшие, чтобы следить за ними.

В настоящее время требуются привязки SWIG, но мы близки к поддержке некоторых других привязок (не PySVN, subvertpy), которые будет проще установить. Я не могу сделать никаких твердых заявлений о том, насколько легко / сложно это будет в Windows, поскольку у меня нет возможности это проверить.

person durin42    schedule 24.07.2010

У меня была точно такая же проблема, и я просто сдался. Основная проблема заключается в том, что для последних версий SVN нет предварительно скомпилированных привязок Win32 Python SWIG.

Вы можете проверить, справятся ли инструменты hgsvn с тем, что вам нужно: https://www.mercurial-scm.org/wiki/WorkingWithSubversion#With_hgsvn

Это не полноценное расширение, а просто набор из трех инструментов: hgimportsvn, hgpullsvn и hgpushsvn

person leoger    schedule 24.07.2010

Похоже, Python не может найти привязки Subversion.

Если можете, попробуйте установить TortoiseHg, который их связывает. Может быть, из-за того, что он был установлен, у меня вообще не было проблем с использованием hgsubversion.

person s.m.    schedule 23.07.2010
comment
Хм ... что произойдет, если вы запустите интерактивный интерпретатор Python и попытаетесь выполнить его из клиента импорта svn? Вы видите эту ошибку, потому что из svn import something не удается выполнить код hgsubversion, как видно из этого bitbucket.org/durin42/hgsubversion/src/aafbf0d40dc2/ - person s.m.; 23.07.2010
comment
D: \ repos \ experimental ›python Python 2.5.4 (r254: 67916, 23 декабря 2008 г., 15:10:54) [MSC v.1310 32 бит (Intel)] на win32. Введите help, авторские права, кредиты или лицензию для получения дополнительных сведений Информация. ››› импорт из svn client Файл ‹stdin›, импорт строки 1 из svn client ^ SyntaxError: недопустимый синтаксис ››› из клиента импорта svn ››› - person les2; 24.07.2010
comment
похоже, работает ... ››› из клиента импорта svn ››› из ядра импорта svn ››› core.SVN_VER_MAJOR 1 ››› core.SVN_VER_MINOR 5 ››› core.SVN_VER_MICRO 3 ››› - person les2; 24.07.2010
comment
У меня установлены как 2.5, так и 3.x Python ... в настоящее время удаляю последний, если это вызывает конфликты :) - person les2; 24.07.2010
comment
Да, это может быть причиной. К сожалению, я не эксперт по питонам :( - person s.m.; 24.07.2010
comment
Что выводит svn --version --quiet? - person s.m.; 24.07.2010
comment
TortoiseHg больше не включает привязки SVN. - person Mike C; 03.02.2016