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

Re: [PATCH] Documentation/diff-options.txt: unify options

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 28, 2008, 06:52 UTC
Message-ID
<7vvdt4aj0e.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<87lju1jmp9.fsf@jidanni.org>
jidanni@jidanni.org writes:
Show 5 quoted lines
> JCH> Sorry, but this patch is very unusual in that it lacks any context lines,
> JCH> which makes it impossible to review.
>
> Trust me, I tried it with the default context lines and it was just
> the same hard reading.
Nonsense.
Here is a snippet from your patch.
        diff --git a/diff-options.txt b/diff-options.txt
        index 5721548..b05503a 100644
        --- a/diff-options.txt
        +++ b/diff-options.txt
        @@ -21,0 +22 @@ ifndef::git-format-patch[]
        +-u::
        @@ -26,3 +26,0 @@ endif::git-format-patch[]
        --u::
        -	Synonym for "-p".
        -

The only thing anybody can guess without looking at the original (that is what "sending a patch without context" means) is that you moved "-u::" to somewhere else, and stripped of its description. There is absolutely no clue to judge if the new home to "-u::" is an appropriate place.

In a normal patch with context, the same hunk would have looked like this:
        diff --git i/Documentation/diff-options.txt w/Documentation/diff-options.txt
        index c62b45c..c4ca0a9 100644
        --- i/Documentation/diff-options.txt
        +++ w/Documentation/diff-options.txt
        @@ -19,16 +19,12 @@ endif::git-format-patch[]
         ifndef::git-format-patch[]
         -p::
        +-u::
                Generate patch (see section on generating patches).
                {git-diff? This is the default.}
         endif::git-format-patch[]
        --u::
        -	Synonym for "-p".
        -
         -U<n>::
        -	Shorthand for "--unified=<n>".
        -
         --unified=<n>::

Presented this way, it is much more clear what is going on, as there is no need to go back to the original and see if the new location for "-u::" makes sense (and I think it does, but that is something I can say after applying the patch and reviewing the result, because the patch itself is not reviewable).

If you find yours just as easy to read as the one with context, your patch reading ability far exceeds mine, and I'd refuse to read your patches in the future to preserve my sanity.

There is another issue that should be obvious to people who deal with patches every day. The context-free patch you sent can be applied *ONLY* after locating the *EXACT* preimage of the file you used to produce your patch. Before your patch is reviewed, other people may have already modified the same file, perhaps introducing a few new lines at the top of the file, and then what? Your first hunk tells us that you would want to insert a line with "-u::" at line #21, but the context does not match anymore when your patch is reviewed.

Previous: jidanni@jidanni.orgNext: jidanni@jidanni.org
Message 4 of 8 in “Documentation/diff-options.txt: unify options”
  1. Documentation/diff-options.txt: unify optionsjidanni@jidanni.org, Dec 27, 2008
  2. Junio C HamanoDec 27, 2008
  3. jidanni@jidanni.orgDec 27, 2008
  4. Junio C HamanoDec 28, 2008
  5. jidanni@jidanni.orgDec 29, 2008
  6. Junio C HamanoDec 29, 2008
  7. Junio C HamanoDec 29, 2008
  8. git apply didn't catch error? [was Re: [PATCH] Documentation/diff-options.txt: unify options]jidanni@jidanni.org, Dec 30, 2008

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.