Ответ 1
Я боюсь, что для этого нет встроенных возможностей отладки. Что я делаю, когда пишу крюк - это настроить два локальных репозитория:
$ hg init repo
$ hg clone repo clone
а затем настройте hook changegroup
в repo
. Теперь перейдите в clone
и сделайте
$ echo a > a
$ hg add a
$ hg commit -m 'a file'
для настройки clone
. Каждый раз, когда я хочу проверить крючок, я запускаю
$ hg push; hg -R ../repo rollback
внутри clone
. Я сохраняю это в своей истории в командной строке, чтобы просто нажать ↑ + Return, чтобы выполнить его снова и снова. hg rollback
- это ключ: эффективно отменяет hg push
, чтобы я мог повторять его снова и снова.
Конечно, вам нужно будет отрегулировать это по мере необходимости для вашего крючка. Если крючок проверяет имя коммиттера, используйте hg commit -u someone
, чтобы установить это при необходимости. Если в группе изменений требуется более одного набора изменений, тогда совершите два или более коммитов перед нажатием - откат позаботится об удалении всех нажатых наборов изменений. Если крючок запущен hgweb
, запустите
$ hg serve --config 'web.push_ssl=no' --config 'web.allow_push=*'
в одном терминале для обслуживания repo
, пока вы нажимаете на него в другом терминале.