hgkw/pretxnkw.py
author Christian Ebert <blacktrash@gmx.net>
Tue, 19 Dec 2006 09:39:03 +0100
branchextension
changeset 33 ebb39c6a1476
parent 32 b70b38b15fa4
child 37 3dc31476c148
permissions -rw-r--r--
Add original keyword extension by Thomas Arendsen Hain

# $Hg$

import kwexpander
from mercurial import cmdutil, commands
import sys

def pretxnkw(ui, repo, hooktype, **args):
    '''Collects candidates for keyword expansion on commit
    and passes them to kwexpander.'''

    if hooktype != 'pretxncommit':
        # bail out with error
        return True

    # reparse args, opts again as pretxncommit hook is silent about them
    sysargs, globalopts, cmdopts = commands.parse(ui, sys.argv[1:])[2:]
    files, match, anypats = cmdutil.matchpats(repo, sysargs, cmdopts)

    # validity checks should have been done already
    modified, added = repo.status(files=files, match=match)[:2]
    candidates = modified + added

    if candidates:
        r = repo.changelog.tip()
        n = args['node'][:12]
        # TODO: check whether we need parent1&2 like in updatekw
        return kwexpander.expandkw(ui, repo, r, n, candidates, update=False)