Я пытаюсь создать сложную зацепку mercurial commit в python.Я также хочу разрешить передавать параметры с помощью OptionParser.Вот суть того, что у меня есть:
.hg / hgrc config:
[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 not распознан».
Наконец, я попытался указать commit = python:/mydir/pythonFile.py:main --test-dir '/somedir'
в конфигурации hgrc, и я получил эту ошибку: «AttributeError: у объекта 'module' нет атрибута 'main --test-dir' / somedir '' "
Спасибо за помощь.