# HG changeset patch # User Michael Tharp # Date 1286816285 14400 # Node ID 90f5bf44cf599edc180ad1c59c9a01b0fec302c6 # Parent 9e722e8d001d1629243b935bd6421deb8f5b0db9 Add compatibility for hg 1.6 diff -r 9e722e8d001d -r 90f5bf44cf59 forest.py --- a/forest.py Sun Oct 04 16:31:31 2009 +0200 +++ b/forest.py Mon Oct 11 12:58:05 2010 -0400 @@ -567,6 +567,16 @@ parents = ctx.parents() return [node.hex(parents[0].node())] + def rollback(self): + if self._repo: + try: + self._repo.transaction('forest').__del__() + except TypeError, err: + # Wrong number of arguments for hg < 1.6 + if '2 given' not in str(err): + raise + self._repo.transaction().__del__() + def __repr__(self): return ("= 1.6 + revs = revs[1] elif 'rev' in opts: revs = opts['rev'] else: @@ -910,10 +923,7 @@ fetch.fetch(ui, tree.getrepo(ui), srcpath, **opts) except Exception, err: ui.warn(_("skipped: %s\n") % err) - try: - tree.repo.transaction().__del__() - except AttributeError: - pass + tree.rollback() @Forest.Tree.skip def check_mq(tree): @@ -1087,8 +1097,7 @@ commands.pull(ui, tree.getrepo(ui), srcpath, **opts) except Exception, err: ui.warn(_("skipped: %s\n") % err) - if tree._repo: - tree.repo.transaction().__del__() + tree.rollback() @Forest.Tree.skip def check_mq(tree): @@ -1128,10 +1137,7 @@ commands.push(ui, tree.getrepo(ui), destpath, **opts) except Exception, err: ui.warn(_("skipped: %s\n") % err) - try: - tree.repo.transaction().__del__() - except AttributeError: - pass + tree.rollback() @Forest.Tree.skip def check_mq(tree): @@ -1302,7 +1308,7 @@ commands.tag(ui, tree.getrepo(ui), name, rev_=None, **opts) except Exception, err: ui.warn(_("skipped: %s\n") % err) - tree.repo.transaction().__del__() + tree.rollback() @Forest.Tree.skip def check_mq(tree): @@ -1374,7 +1380,7 @@ clean=opts['clean'], date=opts['date']) except Exception, err: ui.warn(_("skipped: %s\n") % err) - tree.repo.transaction().__del__() + tree.rollback() @Forest.Tree.skip def check_mq(tree):