git/tools
René Scharfe 63621bcbba hex: add and use strbuf_add_oid_hex()
Add a function for adding the full hexadecimal hash value of an object
ID to a strbuf.  It's thread-safe and slightly more efficient than using
strbuf_addstr() with oid_to_hex() because it doesn't have to determine
the length of the string or copy it from the intermediate static buffer.

Add and apply a semantic patch to use it throughout the code base.

I get a tiny speedup for git log showing a single hash per commit:

Benchmark 1: ./git_main log --format=%H
  Time (mean ± σ):      91.2 ms ±   0.7 ms    [User: 51.9 ms, System: 38.6 ms]
  Range (min … max):    89.8 ms …  92.6 ms    31 runs

Benchmark 2: ./git log --format=%H
  Time (mean ± σ):      90.5 ms ±   0.7 ms    [User: 51.0 ms, System: 38.8 ms]
  Range (min … max):    89.2 ms …  92.3 ms    32 runs

Summary
  ./git log --format=%H ran
    1.01 ± 0.01 times faster than ./git_main log --format=%H

Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2026-05-14 15:59:25 +09:00
..
coccinelle hex: add and use strbuf_add_oid_hex() 2026-05-14 15:59:25 +09:00
update-unicode
README.md
check-builtins.sh
coverage-diff.sh
detect-compiler
generate-cmdlist.sh
generate-configlist.sh
generate-hooklist.sh
generate-perl.sh
generate-python.sh
generate-script.sh
meson.build
precompiled.h

README.md

Developer Tooling

This directory is expected to contain all sorts of tooling that relates to our build infrastructure. This includes scripts and inputs required by our build systems, but also scripts that developers are expected to run manually.