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

Re: [PATCH 3/3] notes: don't indent empty lines

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Sep 11, 2021, 10:39 UTC
Message-ID
<87wnnn8kba.fsf@evledraar.gmail.com>
In-Reply-To
<CAPig+cQ+qVNBJqHmQgk6D1fbYHHJpAxhfwyBOgevi9Hvs6JYkw@mail.gmail.com>
On Sat, Sep 11 2021, Eric Sunshine wrote:
Show 22 quoted lines
> On Fri, Sep 10, 2021 at 9:59 PM Ævar Arnfjörð Bjarmason
> <avarab@gmail.com> wrote:
>> >> Eric Sunshine <sunshine@sunshineco.com> writes:
>> >> > Have we made a decision about whether this patch series -- which
>> >> > avoids indenting blank notes lines -- is desirable? Or are we worried
>> >> > about backward-compatibility?
>>
>> This change per-se seems nice, but even having reviewed it to the point
>> of rewriting parts of it, I didn't really look into what the whole
>> workflow you were trying to address is.
>>
>> So e.g. just to pick a random commit of your for show:
>>     $ git show c990a4c11dd | sed 's/$/Z/'
>> Here we end up also adding the whitespace indenting to the empty lines,
>> whereas if we were trying to feed this to an editor we'd place those
>> later Z's at the start of our line.
>
> I'm not sure what you mean by "feed this to an editor". Do you mean
> sending the output of `git show` to an editor? I'm guessing that's not
> what you mean, and that you instead are talking about editing the
> commit message in an editor (say, via the "reword" option of `git
> rebase --interactive`).

Feed it to whatever, maybe I have a commit message in my terminal I highlight and copy/paste, my shell/terminal is highlighting line-endings etc.

I've got a default bias towards trimming this whitespace, I'm just wondering why notes are a special-case as opposed to our more general log/notes etc. output.

Show 9 quoted lines
>> Are notes different? Or are they just similarly indented? For commits we
>> don't insert that leading whitespace in the commit object, do notes get
>> that part wrong too?
>
> Notes don't store the indented blank lines; it's only at output time,
> such as with `git format-patch --notes` that the blank lines get
> indented along with the rest of the note text (just as is happening in
> your `git show` example in which the entire commit message is being
> indented, including the blank lines).

Ah, so with your change we'd end up with trimmed notes, but not the trimmed main body of the commit message?

We don't have to fix everything at once, just establishing context, maybe it's useful for format-patch etc. in isolation...

Show 34 quoted lines
>> It might be showing, but I've only used notes a few times, my main use
>> of them is Junio's amlog.
>
> I also have only used notes a few times.
>
>> So even for someone experienced in git, I think some show & tell of
>> step-by-step showing in the commit message how we end up with X before,
>> and have Y with this change would help a lot.
>
> This all came about due to two unrelated circumstances: (1) a few
> months ago, I configured Emacs to highlight trailing whitespace, and
> (2) I decided to use `notes` to add commentary to a commit since,
> although I normally just write the commentary directly in the patch
> itself after running `git format-patch`, in this case, it likely will
> be weeks or months before I finish the series, and was worried that
> I'd forget the intended commentary by that time, thus recorded it as a
> note. Since I've almost never used notes, I ran `git format-patch
> --notes` as a test and was surprised to see the trailing whitespace on
> the "blank" lines when viewing the patch in the editor.
>
> This submission started as a single patch which just "fixed" the bug
> and added a test. Only after that was complete (but before I submitted
> the patch), did I discover that other tests in the suite were failing
> since the "fix" also changed git-log's default output format which
> includes notes (indented). Since I so rarely use notes, I had either
> forgotten that git-log showed notes or didn't know in the first place.
> The submission grew to multiple patches due to fixing those
> newly-failing tests.
>
> Anyhow, since then, I've discovered that `git format-patch
> --range-diff` also indents blank lines. And you've now shown that `git
> show` does, as well, so the behavior which triggered this "fix" turns
> out to be somewhat normal in this project, rather than a one-off "bug"
> in need of a fix.

Per the above I wouldn't mind this just being changed for all of them, even one at a time.

Previous: Eric SunshineNext: Eric Sunshine
Message 17 of 25 in “suppress trailing whitespace on empty "notes" lines”
  1. 0/3 suppress trailing whitespace on empty "notes" linesEric Sunshine, Aug 30, 2021
  2. 1/3 t3301: tolerate minor notes-related presentation changesEric Sunshine, Aug 30, 2021
  3. Junio C HamanoAug 30, 2021
  4. Eric SunshineAug 30, 2021
  5. 2/3 t3303/t9301: make `notes` tests less brittleEric Sunshine, Aug 30, 2021
  6. 3/3 notes: don't indent empty linesEric Sunshine, Aug 30, 2021
  7. Junio C HamanoAug 30, 2021
  8. Eric SunshineAug 30, 2021
  9. Junio C HamanoAug 30, 2021
  10. Eric SunshineAug 30, 2021
  11. Eric SunshineSep 10, 2021
  12. Eric SunshineSep 10, 2021
  13. Junio C HamanoSep 10, 2021
  14. Eric SunshineSep 10, 2021
  15. Ævar Arnfjörð BjarmasonSep 11, 2021
  16. Eric SunshineSep 11, 2021
  17. Ævar Arnfjörð BjarmasonSep 11, 2021
  18. Eric SunshineSep 12, 2021
  19. Junio C HamanoSep 12, 2021
  20. 0/2 suppress trailing whitespace on empty "notes" linesÆvar Arnfjörð Bjarmason, Aug 30, 2021
  21. 1/2 t3303/t9301: make `notes` tests less brittleÆvar Arnfjörð Bjarmason, Aug 30, 2021
  22. 2/2 notes: don't indent empty linesÆvar Arnfjörð Bjarmason, Aug 30, 2021
  23. Eric SunshineAug 30, 2021
  24. Eric SunshineAug 30, 2021
  25. Junio C HamanoAug 30, 2021

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.