Mercurial > hg > hgforest
changeset 110:18897318f6e1
Merge from pmezard/hgforest-crew
author | Michael Tharp <mtharp@rpath.com> |
---|---|
date | Fri, 03 Dec 2010 14:02:18 -0500 |
parents | 765bee053287 (diff) 3647b4bed1a1 (current diff) |
children | b3aa740a13f8 |
files | forest.py |
diffstat | 1 files changed, 15 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/forest.py Thu Nov 18 23:49:39 2010 +0100 +++ b/forest.py Fri Dec 03 14:02:18 2010 -0500 @@ -580,6 +580,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 " @@ -923,10 +933,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): @@ -1100,8 +1107,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): @@ -1141,10 +1147,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): @@ -1316,7 +1319,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): @@ -1388,7 +1391,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):