--- a/hgkw/keyword.py Sat Nov 10 14:08:12 2007 +0100
+++ b/hgkw/keyword.py Sun Nov 11 11:29:50 2007 +0100
@@ -441,23 +441,17 @@
wlock = self.wlock()
lock = self.lock()
# store and postpone commit hooks
- # store parents for commit hook environment
commithooks = []
- xp1, xp2 = p1, p2
for name, cmd in ui.configitems('hooks'):
if name.split('.', 1)[0] == 'commit':
commithooks.append((name, cmd))
ui.setconfig('hooks', name, '')
if commithooks:
- if xp1 is None:
- xp1, xp2 = repo.dirstate.parents()
- elif not xp2:
- xp2 = nullid
- xp1 = hex(xp1)
- if xp2 == nullid:
- xp2 = ''
+ # store parents for commit hook environment
+ if p1 is None:
+ _p1, _p2 = repo.dirstate.parents()
else:
- xp2 = hex(xp2)
+ _p1, _p2 = p1, p2 or nullid
node = super(kwrepo,
self).commit(files=files, text=text, user=user,
@@ -473,10 +467,16 @@
# 6th, 7th arguments set expansion, commit to True
_overwrite(ui, self, candidates, node, mn, True, True)
- # restore commit hooks and run them
- for name, cmd in commithooks:
- ui.setconfig('hooks', name, cmd)
- repo.hook('commit', node=node, parent1=xp1, parent2=xp2)
+ if commithooks:
+ # restore commit hooks and run them
+ for name, cmd in commithooks:
+ ui.setconfig('hooks', name, cmd)
+ xp1 = hex(_p1)
+ if _p2 == nullid:
+ xp2 = ''
+ else:
+ xp2 = hex(_p2)
+ repo.hook('commit', node=node, parent1=xp1, parent2=xp2)
return node
finally:
del wlock, lock