Mercurial > hg > hgforest
changeset 100:90f5bf44cf59
Add compatibility for hg 1.6
author | Michael Tharp <mtharp@rpath.com> |
---|---|
date | Mon, 11 Oct 2010 12:58:05 -0400 |
parents | 9e722e8d001d |
children | 988ad510ef97 |
files | forest.py |
diffstat | 1 files changed, 18 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- 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 ("<forest.Tree object " "- repo: %s " @@ -659,6 +669,9 @@ if paths: # Extract revisions from # syntax in path. paths[0], revs = parseurl(paths[0], opts['rev'])[0:2] + if isinstance(revs, tuple): + # hg >= 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):