Боюсь, для этого нет встроенных возможностей отладки.Что я делаю, когда пишу ловушку, так это настраиваю два локальных репозитория:
$ hg init repo
$ hg clone repo clone
и затем настраиваю ловушку 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
, пока вы нажимаете на него в другом терминале.