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

Regression in 'git add -p' with 'interactive.diffFilter' since builtin version is default

From
Philippe Blain <levraiphilippeblain@gmail.com>
Date
Aug 22, 2022, 22:15 UTC
Message-ID
<ecf6f5be-22ca-299f-a8f1-bda38e5ca246@gmail.com>
Hi Dscho,

I found a regression in the builtin 'add -i'. I use diff-so-fancy [1] as a pager and also use it via 'interactive.diffFilter'. With the builtin implementation, this errors with:

    error: could not parse colored hunk header '?[36m?[1m?[38;5;13m@ file:1 @?[1m?[0m'
With the Perl version, it works fine.
This has been reported in the 'diff-so-fancy' project here: [2].
Here is a reproducer:

~~~bash #!/bin/bash

set -euEo pipefail

repo=repro rm -rf $repo

TEST_AUTHOR_LOCALNAME=author TEST_AUTHOR_DOMAIN=example.com GIT_AUTHOR_EMAIL=${TEST_AUTHOR_LOCALNAME}@${TEST_AUTHOR_DOMAIN} GIT_AUTHOR_NAME='A U Thor' GIT_AUTHOR_DATE='1112354055 +0200' TEST_COMMITTER_LOCALNAME=committer TEST_COMMITTER_DOMAIN=example.com GIT_COMMITTER_EMAIL=${TEST_COMMITTER_LOCALNAME}@${TEST_COMMITTER_DOMAIN} GIT_COMMITTER_NAME='C O Mitter' GIT_COMMITTER_DATE='1112354055 +0200' export GIT_AUTHOR_EMAIL GIT_AUTHOR_NAME export GIT_COMMITTER_EMAIL GIT_COMMITTER_NAME export GIT_COMMITTER_DATE GIT_AUTHOR_DATE export HOME=

git -c init.defaultBranch=unimportant init $repo cd $repo date>file git add file git commit -m file git clone https://github.com/so-fancy/diff-so-fancy.git date>>file export PATH="diff-so-fancy:$PATH" git -c interactive.diffFilter="diff-so-fancy --patch" -c add.interactive.useBuiltin=false add -p < <(echo y) date>>file git -c interactive.diffFilter="diff-so-fancy --patch" add -p ~~~

Cheers,
Philippe.

[1] https://github.com/so-fancy/diff-so-fancy [2] https://github.com/so-fancy/diff-so-fancy/issues/437

Next: Johannes Schindelin
Message 1 of 3 in “Regression in 'git add -p' with 'interactive.diffFilter' since builtin version is default”
  1. Philippe BlainAug 22, 2022
  2. Johannes SchindelinAug 23, 2022
  3. Johannes SchindelinAug 23, 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.