[PATCH 2 of 5] filemerge: indicate that local/other are p1/p2

Gregory Szorc gregory.szorc at gmail.com
Thu Mar 17 12:02:46 EDT 2016


Something to watch out for with p1 and p2 is that Mercurial doesn't preserve parent order: it sorts the nodes and first is p1.

I think this patch is referring to different parents, so it might be fine. Then again, it does expose p1 and p2 to the docs, so...

> On Mar 17, 2016, at 08:46, timeless <timeless at mozdev.org> wrote:
> 
> # HG changeset patch
> # User timeless <timeless at mozdev.org>
> # Date 1458174961 0
> #      Thu Mar 17 00:36:01 2016 +0000
> # Node ID 18892389001b3c991524cf04bbb004a7a1a15188
> # Parent  a96a4945808a3d3896e81d2204ef1ccd3a44a251
> filemerge: indicate that local/other are p1/p2
> 
> diff --git a/mercurial/filemerge.py b/mercurial/filemerge.py
> --- a/mercurial/filemerge.py
> +++ b/mercurial/filemerge.py
> @@ -230,8 +230,8 @@
> 
> @internaltool('prompt', nomerge)
> def _iprompt(repo, mynode, orig, fcd, fco, fca, toolconf):
> -    """Asks the user which of the local or the other version to keep as
> -    the merged version."""
> +    """Asks the user which of the local (p1) or the other (p2) version to keep
> +    as the merged version."""
>     ui = repo.ui
>     fd = fcd.path()
> 
> @@ -268,12 +268,12 @@
> 
> @internaltool('local', nomerge)
> def _ilocal(repo, mynode, orig, fcd, fco, fca, toolconf):
> -    """Uses the local version of files as the merged version."""
> +    """Uses the local (p1) version of files as the merged version."""
>     return 0, fcd.isabsent()
> 
> @internaltool('other', nomerge)
> def _iother(repo, mynode, orig, fcd, fco, fca, toolconf):
> -    """Uses the other version of files as the merged version."""
> +    """Uses the other (p2) version of files as the merged version."""
>     if fco.isabsent():
>         # local changed, remote deleted -- 'deleted' picked
>         repo.wvfs.unlinkpath(fcd.path())
> @@ -411,7 +411,7 @@
> def _imergelocal(*args, **kwargs):
>     """
>     Like :merge, but resolve all conflicts non-interactively in favor
> -    of the local changes."""
> +    of the local (p1) changes."""
>     success, status = _imergeauto(localorother='local', *args, **kwargs)
>     return success, status, False
> 
> @@ -419,7 +419,7 @@
> def _imergeother(*args, **kwargs):
>     """
>     Like :merge, but resolve all conflicts non-interactively in favor
> -    of the other changes."""
> +    of the other (p2) changes."""
>     success, status = _imergeauto(localorother='other', *args, **kwargs)
>     return success, status, False
> 
> diff --git a/tests/test-help.t b/tests/test-help.t
> --- a/tests/test-help.t
> +++ b/tests/test-help.t
> @@ -1537,7 +1537,7 @@
>         to resolve these conflicts.
> 
>       ":local"
> -        Uses the local version of files as the merged version.
> +        Uses the local (p1) version of files as the merged version.
> 
>       ":merge"
>         Uses the internal non-interactive simple merge algorithm for merging
> @@ -1547,11 +1547,11 @@
> 
>       ":merge-local"
>         Like :merge, but resolve all conflicts non-interactively in favor of the
> -        local changes.
> +        local (p1) changes.
> 
>       ":merge-other"
>         Like :merge, but resolve all conflicts non-interactively in favor of the
> -        other changes.
> +        other (p2) changes.
> 
>       ":merge3"
>         Uses the internal non-interactive simple merge algorithm for merging
> @@ -1560,11 +1560,11 @@
>         side of the merge and one for the base content.
> 
>       ":other"
> -        Uses the other version of files as the merged version.
> +        Uses the other (p2) version of files as the merged version.
> 
>       ":prompt"
> -        Asks the user which of the local or the other version to keep as the
> -        merged version.
> +        Asks the user which of the local (p1) or the other (p2) version to keep
> +        as the merged version.
> 
>       ":tagmerge"
>         Uses the internal tag merge algorithm (experimental).
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


More information about the Mercurial-devel mailing list