[PATCH] evolve: wrap setparents calls in begin/endparentchange
Siddharth Agarwal
sid at less-broken.com
Wed Sep 17 20:39:47 UTC 2014
On 09/17/2014 01:39 PM, Siddharth Agarwal wrote:
> # HG changeset patch
> # User Siddharth Agarwal <sid0 at fb.com>
> # Date 1410986304 25200
> # Wed Sep 17 13:38:24 2014 -0700
> # Node ID c3e23fbf7bd71300f19522d583ab8fe50916b7f7
> # Parent 6328e005b6c8f3f080bae829417ec195827165fb
> evolve: wrap setparents calls in begin/endparentchange
Forgot to flag this [evolve].
>
> Mercurial rev d259322a394b added a requirement to wrap any dirstate.setparents
> calls and their associated dirstate changes in begin/endparentchange.
>
> diff --git a/hgext/evolve.py b/hgext/evolve.py
> --- a/hgext/evolve.py
> +++ b/hgext/evolve.py
> @@ -1451,7 +1451,9 @@
> finally:
> tr.release()
> # reroute the working copy parent to the new changeset
> + repo.dirstate.beginparentchange()
> repo.dirstate.setparents(newid, node.nullid)
> + repo.dirstate.endparentchange()
>
> def _solvedivergent(ui, repo, divergent, dryrun=False, confirm=False,
> progresscb=None):
> @@ -1539,7 +1541,9 @@
> if progresscb: progresscb()
> tr = repo.transaction('stabilize-divergent')
> try:
> + repo.dirstate.beginparentchange()
> repo.dirstate.setparents(divergent.node(), node.nullid)
> + repo.dirstate.endparentchange()
> oldlen = len(repo)
> amend(ui, repo, message='', logfile='')
> if oldlen == len(repo):
> @@ -1988,8 +1992,10 @@
> # Move local changes on filtered changeset
> obsolete.createmarkers(repo, [(old, (repo[newid],))])
> phases.retractboundary(repo, tr, oldphase, [newid])
> + repo.dirstate.beginparentchange()
> repo.dirstate.setparents(newid, node.nullid)
> _uncommitdirstate(repo, old, match)
> + repo.dirstate.endparentchange()
> updatebookmarks(newid)
> if not repo[newid].files():
> ui.warn(_("new changeset is empty\n"))
> @@ -2075,7 +2081,9 @@
> obsolete.createmarkers(repo, [(ctx, (repo[new],))])
> phases.retractboundary(repo, tr, ctx.phase(), [new])
> if ctx in repo[None].parents():
> + repo.dirstate.beginparentchange()
> repo.dirstate.setparents(new, node.nullid)
> + repo.dirstate.endparentchange()
> tr.close()
> finally:
> tr.release()
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> http://selenic.com/mailman/listinfo/mercurial-devel
More information about the Mercurial-devel
mailing list