Я пытаюсь создать сложную фиксацию ртути в python. Я также хочу, чтобы мне разрешили передавать параметры с помощью OptionParser. Вот суть того, что у меня есть до сих пор:
Конфигурация .hg/hgrc:
[hooks]
commit = python:/mydir/pythonFile.py:main
# using python:/mydir/pythonFile.py doesn't work for some reason either
pythonFile.py:
def main(ui, repo, **kwargs):
from optparse import OptionParser
parser = OptionParser()
parser.add_option('--test-dir', action='store', type="string",
dest='test_dir', default='otherdir/',
help='help info')
(options, args) = parser.parse_args()
# do some stuff here
someFunc(options.test_dir)
if __name__ == '__main__':
import sys
main(sys.argv[0], sys.argv[1], sys.argv[2:])
Когда я запускаю hg commit -m 'message'
, я получаю сообщение об ошибке: «Использование: hg [опции] hg: ошибка: нет такой опции: -m». Когда я пытаюсь выполнить hg commit --test-dir '/somedir'
, я получаю сообщение об ошибке: "hg commit: option --test-dir не распознан".
Наконец, я попытался указать commit = python:/mydir/pythonFile.py:main --test-dir '/somedir'
в конфигурации hgrc и получил эту ошибку: «AttributeError: объект 'module' не имеет атрибута 'main --test-dir '/somedir''»
Спасибо за помощь.