<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/contrib, branch jch</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=jch</id>
<link rel='self' href='https://git.shady.money/git/atom?h=jch'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2026-04-09T21:47:28Z</updated>
<entry>
<title>Revert "cmake: use writev(3p) wrapper as needed"</title>
<updated>2026-04-09T21:47:28Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2026-04-09T21:47:28Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9c30dddefdfe22329fdad84e80a4eca117df7bd7'/>
<id>urn:sha1:9c30dddefdfe22329fdad84e80a4eca117df7bd7</id>
<content type='text'>
This reverts commit 89152af176ea94ea8f3249115b6e00827fbbeb70; let's
not use writev() for now.
</content>
</entry>
<entry>
<title>Merge branch 'js/cmake-needs-writev-compat-too'</title>
<updated>2026-04-03T22:24:45Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2026-04-03T22:24:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ac340a635dc8f338ee4ad6a6f74c974cdcda7217'/>
<id>urn:sha1:ac340a635dc8f338ee4ad6a6f74c974cdcda7217</id>
<content type='text'>
Build instruction for recently added writev() compatibility wrapper
has been also added to cmake.

* js/cmake-needs-writev-compat-too:
  cmake: use writev(3p) wrapper as needed
</content>
</entry>
<entry>
<title>cmake: use writev(3p) wrapper as needed</title>
<updated>2026-04-03T17:34:01Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2026-04-03T08:55:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=89152af176ea94ea8f3249115b6e00827fbbeb70'/>
<id>urn:sha1:89152af176ea94ea8f3249115b6e00827fbbeb70</id>
<content type='text'>
This is a companion patch of 3b9b2c2a29a (compat/posix: introduce
writev(3p) wrapper, 2026-03-13) where support for using the `writev()`
wrapper was introduced in the `Makefile` and the Meson-based build, but
the CMake build still needs that treatment, too.

Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jk/diff-highlight-more'</title>
<updated>2026-04-01T17:28:18Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2026-04-01T17:28:18Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8744cef3242e3bcace5f86a24365154a4405544a'/>
<id>urn:sha1:8744cef3242e3bcace5f86a24365154a4405544a</id>
<content type='text'>
Various updates to contrib/diff-highlight, including documentation
updates, test improvements, and color configuration handling.

* jk/diff-highlight-more:
  diff-highlight: fetch all config with one process
  diff-highlight: allow module callers to pass in color config
  diff-highlight: test color config
  diff-highlight: use test_decode_color in tests
  t: add matching negative attributes to test_decode_color
  diff-highlight: check diff-highlight exit status in tests
  diff-highlight: drop perl version dependency back to 5.8
  diff-highlight: mention build instructions
</content>
</entry>
<entry>
<title>Merge branch 'ps/build-tweaks'</title>
<updated>2026-03-27T18:00:01Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2026-03-27T18:00:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d1f07dd50087bef18246feffb963d73b23e2cdd6'/>
<id>urn:sha1:d1f07dd50087bef18246feffb963d73b23e2cdd6</id>
<content type='text'>
Tweak the build infrastructure by moving tools around.

* ps/build-tweaks:
  meson: precompile "git-compat-util.h"
  meson: compile compatibility sources separately
  git-compat-util.h: move warning infra to prepare for PCHs
  builds: move build scripts into "tools/"
  contrib: move "update-unicode.sh" script into "tools/"
  contrib: move "coverage-diff.sh" script into "tools/"
  contrib: move "coccinelle/" directory into "tools/"
  Introduce new "tools/" directory
</content>
</entry>
<entry>
<title>Merge branch 'jk/diff-highlight-identical-pairs'</title>
<updated>2026-03-27T18:00:00Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2026-03-27T18:00:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ebd8fa7e1291e4f82992db763e271ca261dd750b'/>
<id>urn:sha1:ebd8fa7e1291e4f82992db763e271ca261dd750b</id>
<content type='text'>
The handling of the incomplete lines at the end by "git
diff-highlight" has been fixed.

* jk/diff-highlight-identical-pairs:
  contrib/diff-highlight: do not highlight identical pairs
</content>
</entry>
<entry>
<title>diff-highlight: fetch all config with one process</title>
<updated>2026-03-23T14:42:27Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2026-03-23T06:02:18Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=6689a6ea493b484d6a43601f42c1633706c963d6'/>
<id>urn:sha1:6689a6ea493b484d6a43601f42c1633706c963d6</id>
<content type='text'>
When diff-highlight was written, there was no way to fetch multiple
config keys _and_ have them interpreted as colors. So we were stuck
with either invoking git-config once for each config key, or fetching
them all and converting human-readable color names into ANSI codes
ourselves.

I chose the former, but it means that diff-highlight kicks off 6
git-config processes (even if you haven't configured anything, it has to
check each one).

But since Git 2.18.0, we can do:

   git config --type=color --get-regexp=^color\.diff-highlight\.

to get all of them in one shot.

Note that any callers which pass in colors directly to the module via
@OLD_HIGHLIGHT and @NEW_HIGHLIGHT (like diff-so-fancy plans to do) are
unaffected; those colors suppress any config lookup we'd do ourselves.

You can see the effect like:

  # diff-highlight suppresses git-config's stderr, so dump
  # trace through descriptor 3
  git show d1f33c753d | GIT_TRACE=3 diff-highlight 3&gt;&amp;2 &gt;/dev/null

which drops from 6 lines down to 1.

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>diff-highlight: allow module callers to pass in color config</title>
<updated>2026-03-23T14:42:27Z</updated>
<author>
<name>Scott Baker</name>
<email>scott@perturb.org</email>
</author>
<published>2026-03-23T06:02:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=bd958e91dffdba00ef94dc9bfc04b46599362f9a'/>
<id>urn:sha1:bd958e91dffdba00ef94dc9bfc04b46599362f9a</id>
<content type='text'>
Users of the module may want to pass in their own color config for a few
obvious reasons:

  - they are pulling the config from different variables than
    diff-highlight itself uses

  - they are loading the config in a more efficient way (say, by parsing
    git-config --list) and don't want to incur the six (!) git-config
    calls that DiffHighlight.pm runs to check all config

Let's allow users of the module to pass in the color config, and
lazy-load it when needed if they haven't.

Signed-off-by: Scott Baker &lt;scott@perturb.org&gt;
Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>diff-highlight: test color config</title>
<updated>2026-03-23T14:42:27Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2026-03-23T06:02:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c6bc53ad95d5a7dda3d3a8b1bc984465c9024342'/>
<id>urn:sha1:c6bc53ad95d5a7dda3d3a8b1bc984465c9024342</id>
<content type='text'>
We added configurable colors long ago in bca45fbc1f (diff-highlight:
allow configurable colors, 2014-11-20), but never actually tested it.
Since we'll be touching the color code in a moment, this is a good time
to beef up the tests.

Note that we cover both the highlight/reset style used by the default
colors, as well as the normal/highlight style added by that commit
(which was previously totally untested).

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>diff-highlight: use test_decode_color in tests</title>
<updated>2026-03-23T14:42:27Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2026-03-23T06:02:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e57daf91ed0bde19595543c68c90948d5c47ebc6'/>
<id>urn:sha1:e57daf91ed0bde19595543c68c90948d5c47ebc6</id>
<content type='text'>
The diff-highlight tests use raw color bytes when comparing expected and
actual output. Let's use test_decode_color, which is our usual technique
in other tests. It makes reading test output diffs a bit easier, since
you're not relying on your terminal to interpret the result (or worse,
interpreting characters yourself via "cat -A").

This will also make it easier to add tests with new colors/attributes,
without having to pre-define the byte sequences ourselves.

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
