1. Есть ли документация к api с примерами использования? Или м.б кто-нибудь использовал в своих проектах и может поделиться кодом.
2. Пока сгенерировал документацию epydoc-ом, но есть не понятные мне вещи. Интересует модуль mercurial.commands. Есть там функция log и вызов ее описан так log(ui, repo, *pats, **opts). Что за параметры *pats и **opts? Т.е интересует их значение в контексте использования в вызове и что значат *.
3. Проводя аналогию с беспроблемным вызовом без параметров с * функции add вызываю log
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
from mercurial import ui, hg, commands
if __name__ == "__main__":
u = ui.ui(interactive=False) # get a ui object
r = hg.repository(u, '/home/blabla/mercurialrepo')
commands.log(u, r)
Traceback (most recent call last):
File "/home/blabla/NetBeansProjects/blabla/src/blabla.py", line 9, in <module>
command_log = commands.log(u, r)
File "/usr/lib/python2.6/site-packages/mercurial/commands.py", line 1864, in log
changeiter, matchfn = cmdutil.walkchangerevs(ui, repo, pats, get, opts)
File "/usr/lib/python2.6/site-packages/mercurial/cmdutil.py", line 991, in walkchangerevs
revs = revrange(repo, opts['rev'] or [defrange])
KeyError: 'rev'
Пример из официальной вики http://www.selenic.com/mercurial/wiki/DeveloperBasics мягко говоря не проясняет вопросов использования.