[PATCH 1 of 2] merge: rename p1 to wctx in manifestmerge
Mads Kiilerich
mads at kiilerich.com
Sat Feb 9 15:28:11 CST 2013
On 02/09/2013 10:23 PM, Bryan O'Sullivan wrote:
> # HG changeset patch
> # User Bryan O'Sullivan <bryano at fb.com>
> # Date 1360444976 0
> # Node ID 68226cb20b4ad583c3bdf54044c59ea979ec6e7f
> # Parent 712d538d7512cbfd079c54f460243611a0593612
> merge: rename p1 to wctx in manifestmerge
>
> This is always a workingctx, and this name is more in line with other
> functions in this module.
I would like to go in the opposite direction and make manifestmerge more
symmetric and independent of wctx and strategy for applying changes to a
working directory. That would bring it closer to being usable for in
memory merge.
/Mads
> diff --git a/mercurial/merge.py b/mercurial/merge.py
> --- a/mercurial/merge.py
> +++ b/mercurial/merge.py
> @@ -185,7 +185,7 @@ def _forgetremoved(wctx, mctx, branchmer
>
> return actions
>
> -def manifestmerge(repo, p1, p2, pa, branchmerge, force, partial):
> +def manifestmerge(repo, wctx, p2, pa, branchmerge, force, partial):
> """
> Merge p1 and p2 with ancestor pa and generate merge action list
>
> @@ -197,11 +197,11 @@ def manifestmerge(repo, p1, p2, pa, bran
> actions, copy, movewithdir = [], {}, {}
>
> if overwrite:
> - pa = p1
> + pa = wctx
> elif pa == p2: # backwards
> - pa = p1.p1()
> + pa = wctx.p1()
> elif pa and repo.ui.configbool("merge", "followcopies", True):
> - ret = copies.mergecopies(repo, p1, p2, pa)
> + ret = copies.mergecopies(repo, wctx, p2, pa)
> copy, movewithdir, diverge, renamedelete = ret
> for of, fl in diverge.iteritems():
> actions.append((of, "dr", (fl,), "divergent renames"))
> @@ -211,16 +211,16 @@ def manifestmerge(repo, p1, p2, pa, bran
> repo.ui.note(_("resolving manifests\n"))
> repo.ui.debug(" branchmerge: %s, force: %s, partial: %s\n"
> % (bool(branchmerge), bool(force), bool(partial)))
> - repo.ui.debug(" ancestor: %s, local: %s, remote: %s\n" % (pa, p1, p2))
> + repo.ui.debug(" ancestor: %s, local: %s, remote: %s\n" % (pa, wctx, p2))
>
> - m1, m2, ma = p1.manifest(), p2.manifest(), pa.manifest()
> + m1, m2, ma = wctx.manifest(), p2.manifest(), pa.manifest()
> copied = set(copy.values())
> copied.update(movewithdir.values())
>
> if '.hgsubstate' in m1:
> # check whether sub state is modified
> - for s in sorted(p1.substate):
> - if p1.sub(s).dirty():
> + for s in sorted(wctx.substate):
> + if wctx.sub(s).dirty():
> m1['.hgsubstate'] += "+"
> break
>
> @@ -300,7 +300,7 @@ def manifestmerge(repo, p1, p2, pa, bran
> if force and not branchmerge:
> actions.append((f, "g", (m2.flags(f),), "remote created"))
> else:
> - different = _checkunknownfile(repo, p1, p2, f)
> + different = _checkunknownfile(repo, wctx, p2, f)
> if force and branchmerge and different:
> actions.append((f, "m", (f, f, False),
> "remote differs from untracked local"))
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> http://selenic.com/mailman/listinfo/mercurial-devel
More information about the Mercurial-devel
mailing list