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

js/add-p-diff-parsing-fix (was: What's cooking in git.git (Aug 2022, #10; Tue, 30))

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Aug 31, 2022, 08:29 UTC
Message-ID
<220831.86bks0ajy7.gmgdl@evledraar.gmail.com>
In-Reply-To
<xmqqilm9k0bc.fsf@gitster.g>
On Tue, Aug 30 2022, Junio C Hamano wrote:
Show 12 quoted lines
> * js/add-p-diff-parsing-fix (2022-08-29) 5 commits
>  - add -p: ignore dirty submodules
>  - add -p: handle `diff-so-fancy`'s hunk headers better
>  - add -p: insert space in colored hunk header as needed
>  - add -p: gracefully ignore unparseable hunk headers in colored diffs
>  - t3701: redefine what is "bogus" output of a diff filter
>
>  Those who use diff-so-fancy as the diff-filter noticed a regression
>  or two in the reimplemented "add -p", which has been corrected.
>
>  Will merge to 'next'?
>  source: <pull.1336.v3.git.1661785916.gitgitgadget@gmail.com>
This LGTM.

For the release notes you might want to tweak this. While this series fixes an issue that some users ran into with "diff-so-fancy" it's really just a generic set of fixes for "git add -p". The issue just happens to have been discovered with that tool.

E.g. on master now you can try this in git.git:
	echo hi >README.mda
	./git -c interactive.diffFilter=tac add -p
	error: could not parse colored hunk header '?[31m-[Documentation/gitcvs-migration.txt]: Documentation/gitcvs-migration.txt?[m'

I.e. just reversing the output with tac(1) is enough to trigger the failure fixed in this series.

Maybe?:
	'git-add -p' can now parse diffs that don't contain the line
	information that "git diff" itself would emit within "@@
	... @@". As a result the reimplemented "add -p" can now be used
	with the popular "diff-so-fancy" utility.
Previous: Ævar Arnfjörð BjarmasonNext: Phillip Wood
Message 7 of 10 in “What's cooking in git.git (Aug 2022, #10; Tue, 30)”
  1. Junio C HamanoAug 30, 2022
  2. js/bisect-in-c, was Re: What's cooking in git.git (Aug 2022, #10; Tue, 30)Johannes Schindelin, Aug 30, 2022
  3. jk/unused-annotation + ab/unused-annotation (was: What's cooking in git.git (Aug 2022, #10; Tue, 30))Ævar Arnfjörð Bjarmason, Aug 31, 2022
  4. Jeff KingAug 31, 2022
  5. Junio C HamanoAug 31, 2022
  6. Ævar Arnfjörð BjarmasonAug 31, 2022
  7. js/add-p-diff-parsing-fix (was: What's cooking in git.git (Aug 2022, #10; Tue, 30))Ævar Arnfjörð Bjarmason, Aug 31, 2022
  8. Phillip WoodAug 31, 2022
  9. Johannes SchindelinAug 31, 2022
  10. Junio C HamanoAug 31, 2022

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.