Message ID | 20231220070528.8049-1-mi.al.lohmann@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Documentation/git-merge.txt: fix reference to synopsys | expand |
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. > 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. > 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`. > + > +'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
Hi, I'm getting in on the fun by adding a little nit-picking of my own. :-) On Wed, Dec 20, 2023 at 7:46 AM René Scharfe <l.s.r@web.de> wrote: > > 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. > > > 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. Thanks for explaining; I also missed that in reading over the original patch. It'd be great if Michael could update the commit message to make this a bit more clear. > > 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 Do you perhaps mean "completed automatically" (i.e. change both of the last two words in that sentence, and not just the last one)? That would make sense to me, and I like that wording a little better. But I think either you need to change both of the last two words of that sentence (my preference), or neither of them. > > +can only be run after the merge has resulted in conflicts. > > The connection between these two sentences feels weak to me. This sentence is a bit more problematic than that: Even when there are no conflicts, "git merge --no-commit" will also stop a merge, and one can then use either --abort or --continue. So the assertion made by this sentence that you're reviewing is not accurate. > 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`. I like this alternative wording; it avoids the incorrect assertion and uses something equivalent to the "completed automatically" suggested above.
René Scharfe <l.s.r@web.de> writes: >> +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`. Just being nitpicky and curious, but does the abort/continue also apply when you run "git merge --no-commit"? I do not do documentation all that much these days, but when I was involved heavily in discussions on documentation patches, I often said "'git merge' gives back control to the user" to refer to both cases, either because it couldn't complete the work it was asked to do, or because it was asked to stop before completing the work. > 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. Thanks for a good review.
Am 20.12.23 um 17:29 schrieb Elijah Newren: > > On Wed, Dec 20, 2023 at 7:46 AM René Scharfe <l.s.r@web.de> wrote: >> >> Am 20.12.23 um 08:05 schrieb Michael Lohmann: >> >>> +It is possible that a merge failure will prevent this process from being >>> +completely automatic. "`git merge --continue`" and "`git merge --abort`" >> ^^^^^^^^^ >> automatically > > Do you perhaps mean "completed automatically" (i.e. change both of the > last two words in that sentence, and not just the last one)? Possibly. This looks like a case of me making a mistake while criticizing someone else's grammar, though. Which happens almost every time. o_O René
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`" +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: *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. - OPTIONS ------- :git-merge: 1
437591a9d738 changed the synopsys from two separate lines for `--abort` 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. 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(-)