git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] Documentation/git-merge.txt: fix reference to synopsys

From
René Scharfe <l.s.r@web.de>
Date
Dec 20, 2023, 15:43 UTC
Message-ID
<c6814a39-b4f9-4b1e-b81b-45ffe4aa7466@web.de>
In-Reply-To
<20231220070528.8049-1-mi.al.lohmann@gmail.com>
Am 20.12.23 um 08:05 schrieb Michael Lohmann:
Thank you for this patch and sorry for the nitpicking below!
> 437591a9d738 changed the synopsys from two separate lines for `--abort`
"Synopsys" is a software company.  A "synopsis" is a brief outline.
Show 6 quoted lines
> and `--continue` to a single line (and it also simultaneously added
> `--quit`). That way the "enumeration" of the syntax for `--continue` is
> no longer valid. Since `--quit` is now also part of the same syntax
> line, a general statement cannot be made any more. Instead of trying to
> enumerate the synopsys, be explicit in the limitations of when
> respective actions are valid.

Had to think a moment before I understood that "enumeration" refers to "The second syntax" and "The third syntax", which have been combined into this line:

       git merge (--continue | --abort | --quit)

And it does make sense that we can no longer say "second syntax" and only refer to "git merge --abort", or "third syntax" and mean "git merge --continue". In other words: References by number are no longer valid after a merge of some of the synopses.

Show 26 quoted lines
> This change also groups `--abort` and `--continue` together when
> explaining the circumstances under which they can be run in order to
> avoid duplication.
>
> Signed-off-by: Michael Lohmann <mi.al.lohmann@gmail.com>
> ---
>  Documentation/git-merge.txt | 19 +++++++++----------
>  1 file changed, 9 insertions(+), 10 deletions(-)
>
> diff --git a/Documentation/git-merge.txt b/Documentation/git-merge.txt
> index e8ab340319..d8863cc943 100644
> --- a/Documentation/git-merge.txt
> +++ b/Documentation/git-merge.txt
> @@ -46,21 +46,20 @@ a log message from the user describing the changes. Before the operation,
>      D---E---F---G---H master
>  ------------
>
> -The second syntax ("`git merge --abort`") can only be run after the
> -merge has resulted in conflicts. 'git merge --abort' will abort the
> -merge process and try to reconstruct the pre-merge state. However,
> -if there were uncommitted changes when the merge started (and
> -especially if those changes were further modified after the merge
> -was started), 'git merge --abort' will in some cases be unable to
> -reconstruct the original (pre-merge) changes. Therefore:
> +It is possible that a merge failure will prevent this process from being
> +completely automatic. "`git merge --continue`" and "`git merge --abort`"
              ^^^^^^^^^
              automatically
> +can only be run after the merge has resulted in conflicts.

The connection between these two sentences feels weak to me. Are "merge failure" and "conflicts" the same? Perhaps something like this:

   A merge stops if there's a conflict that cannot be resolved
   automatically.  At that point you can run `git merge --abort` or
   `git merge --continue`.
Show 13 quoted lines
> +
> +'git merge --abort' will abort the merge process and try to reconstruct
> +the pre-merge state. However, if there were uncommitted changes when the
> +merge started (and especially if those changes were further modified
> +after the merge was started), 'git merge --abort' will in some cases be
> +unable to reconstruct the original (pre-merge) changes. Therefore:
>
>  *Warning*: Running 'git merge' with non-trivial uncommitted changes is
>  discouraged: while possible, it may leave you in a state that is hard to
>  back out of in the case of a conflict.
>
> -The third syntax ("`git merge --continue`") can only be run after the
> -merge has resulted in conflicts.

What's with the quoting? It was inconsistent before, but I wonder what would be correct here. Switching between straight single quotes ('') and curved double quotes ("``") seems a bit arbitrary.

And I'm not even sure if these quotes really are what I think they are based on https://docs.asciidoctor.org/asciidoc/latest/subs/quotes/. On https://git-scm.com/docs/git-merge single quotes get rendered as <em>, backticks as <code> (which makes sense) and curved double quotes as <code> surrounded by straight double quotes (which looks weird).

The only guidance I found is this paragraph from CodingGuidelines:
   Literal examples (e.g. use of command-line options, command names,
   branch names, URLs, pathnames (files and directories), configuration and
   environment variables) must be typeset in monospace (i.e. wrapped with
   backticks)

So shouldn't we wrap all commands in backticks and nothing more? Probably worth a separate patch.

> -
>  OPTIONS
>  -------
>  :git-merge: 1
Previous: Michael LohmannNext: Elijah Newren
Message 2 of 13 in “Documentation/git-merge.txt: fix reference to synopsys”
  1. Documentation/git-merge.txt: fix reference to synopsysMichael Lohmann, Dec 20, 2023
  2. René ScharfeDec 20, 2023
  3. Elijah NewrenDec 20, 2023
  4. René ScharfeDec 20, 2023
  5. Junio C HamanoDec 20, 2023
  6. 0/2 Documentation/git-merge.txt: fix reference to synopsisMichael Lohmann, Dec 20, 2023
  7. 1/2 Documentation/git-merge.txt: fix reference to synopsisMichael Lohmann, Dec 20, 2023
  8. Elijah NewrenDec 20, 2023
  9. Junio C HamanoDec 20, 2023
  10. 1/2 Documentation/git-merge.txt: fix reference to synopsisMichael Lohmann, Dec 20, 2023
  11. Junio C HamanoDec 20, 2023
  12. Michael LohmannDec 20, 2023
  13. 2/2 Documentation/git-merge.txt: use backticks for command wrappingMichael Lohmann, Dec 20, 2023

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.