Patchwork [5,of,6,V5] help: add local/other description to merge tool description

login
register
mail settings
Submitter Durham Goode
Date May 16, 2014, 11:48 p.m.
Message ID <27cb0613b2f00a463876.1400284119@dev2000.prn2.facebook.com>
Download mbox | patch
Permalink /patch/4789/
State Accepted
Headers show

Comments

Durham Goode - May 16, 2014, 11:48 p.m.
# HG changeset patch
# User Durham Goode <durham@fb.com>
# Date 1400271307 25200
#      Fri May 16 13:15:07 2014 -0700
# Node ID 27cb0613b2f00a4638768454f272aa838f0503f0
# Parent  072a8cf959e8e51fb8009313046cda87829454c2
help: add local/other description to merge tool description

Adds a more detailed description of what 'local' and 'other' mean to the merge
tool documentation.
Pierre-Yves David - May 18, 2014, 8:27 a.m.
On 05/16/2014 04:48 PM, Durham Goode wrote:
> # HG changeset patch
> # User Durham Goode <durham@fb.com>
> # Date 1400271307 25200
> #      Fri May 16 13:15:07 2014 -0700
> # Node ID 27cb0613b2f00a4638768454f272aa838f0503f0
> # Parent  072a8cf959e8e51fb8009313046cda87829454c2
> help: add local/other description to merge tool description

I queued up to this. I'll think about the update one after. it appears 
to be highly bikeshedded.
Mads Kiilerich - May 18, 2014, 9:34 p.m.
On 05/17/2014 01:48 AM, Durham Goode wrote:
> # HG changeset patch
> # User Durham Goode <durham@fb.com>
> # Date 1400271307 25200
> #      Fri May 16 13:15:07 2014 -0700
> # Node ID 27cb0613b2f00a4638768454f272aa838f0503f0
> # Parent  072a8cf959e8e51fb8009313046cda87829454c2
> help: add local/other description to merge tool description
>
> Adds a more detailed description of what 'local' and 'other' mean to the merge
> tool documentation.
>
> diff --git a/mercurial/help/config.txt b/mercurial/help/config.txt
> --- a/mercurial/help/config.txt
> +++ b/mercurial/help/config.txt
> @@ -838,7 +838,13 @@
>   ``args``
>     The arguments to pass to the tool executable. You can refer to the
>     files being merged as well as the output file through these
> -  variables: ``$base``, ``$local``, ``$other``, ``$output``.
> +  variables: ``$base``, ``$local``, ``$other``, ``$output``. The meaning
> +  of ``$local`` and ``$other`` can vary depending on which action is being

("action" means something else internally ... but it is probably fine 
here. Alternatives like "command" or "kind of merge" seems less elegant.)

> +  performed. During and update or merge, ``$local`` represents the original

"During _an_" ... and I would mention merge first since it is the most 
normal case - update is more like a wtf.

> +  state of the file, while ``$other`` represents the commit you are updating

how about "state of the file in the local working directory". That is 
more words but I think it is worth it to make it more explicit why it is 
called local and what local means.

> +  to or the commit you are merging with. During a rebase ``$local``
> +  represents the destination of the rebase, and ``$other`` represents the
> +  commit being rebased.

Do graft also deserve mentioning?

/Mads

Patch

diff --git a/mercurial/help/config.txt b/mercurial/help/config.txt
--- a/mercurial/help/config.txt
+++ b/mercurial/help/config.txt
@@ -838,7 +838,13 @@ 
 ``args``
   The arguments to pass to the tool executable. You can refer to the
   files being merged as well as the output file through these
-  variables: ``$base``, ``$local``, ``$other``, ``$output``.
+  variables: ``$base``, ``$local``, ``$other``, ``$output``. The meaning
+  of ``$local`` and ``$other`` can vary depending on which action is being
+  performed. During and update or merge, ``$local`` represents the original
+  state of the file, while ``$other`` represents the commit you are updating
+  to or the commit you are merging with. During a rebase ``$local``
+  represents the destination of the rebase, and ``$other`` represents the
+  commit being rebased.
   Default: ``$local $base $other``
 
 ``premerge``