# HG changeset patch # User Pierre-Yves David # Date 1407370440 25200 # Node ID 6f4fd3e49d1cac31f897c1905fda62faa69fd82f # Parent 200f2d9b9f39b7a607e0bedb316f4d74ab2dd9fe uncommit tr diff -r 200f2d9b9f39 -r 6f4fd3e49d1c hgext/evolve.py --- a/hgext/evolve.py Wed Aug 06 18:06:17 2014 -0700 +++ b/hgext/evolve.py Wed Aug 06 17:14:00 2014 -0700 @@ -1935,7 +1935,7 @@ Return 0 if changed files are uncommitted. """ - wlock = lock = None + wlock = lock = tr = None try: wlock = repo.wlock() lock = repo.lock() @@ -1951,7 +1951,9 @@ raise util.Abort(_("cannot uncommit merge changeset")) oldphase = old.phase() updatebookmarks = _bookmarksupdater(repo, old.node()) + # Recommit the filtered changeset + tr = repo.transaction('uncommit') newid = None if (pats or opts.get('include') or opts.get('exclude') or opts.get('all')): @@ -1969,8 +1971,9 @@ if not repo[newid].files(): ui.warn(_("new changeset is empty\n")) ui.status(_('(use "hg prune ." to remove it)\n')) + tr.close() finally: - lockmod.release(lock, wlock) + lockmod.release(tr, lock, wlock) @eh.wrapcommand('commit') def commitwrapper(orig, ui, repo, *arg, **kwargs):