Je suis en train de créer un commit mercurial complexe en python. Je veux également être autorisé à passer des paramètres en utilisant OptionParser. Voici l'essentiel de ce que j'ai jusqu'à présent:Mercurial Commit Hook avec fonction principale Python
.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:])
Quand je lance hg commit -m 'message'
je reçois une erreur: « Utilisation : hg [options] hg: erreur: pas une telle option: -m ". Lorsque j'essaye hg commit --test-dir '/somedir'
j'obtiens une erreur: "hg commit: option --test-dir non reconnu".
Enfin j'ai essayé spécifiant commit = python:/mydir/pythonFile.py:main --test-dir '/somedir'
dans la configuration hgrc et je suis arrivé cette erreur: « AttributeError: objet « module » n'a pas d'attribut « principal --test-dir «/somedir » » »
Merci pour votre Aidez-moi.