<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/t, 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-05-17T13:58:50Z</updated>
<entry>
<title>Merge branch 'en/ort-harden-against-corrupt-trees' into jch</title>
<updated>2026-05-17T13:58:50Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2026-05-17T13:58:50Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=fc35bafc6f9a423a0008d647b43bc8b53b15b2cb'/>
<id>urn:sha1:fc35bafc6f9a423a0008d647b43bc8b53b15b2cb</id>
<content type='text'>
"ort" merge backend handles merging corrupt trees better by
aborting when it should.

* en/ort-harden-against-corrupt-trees:
  cache-tree: fix verify_cache() to catch non-adjacent D/F conflicts
  merge-ort: abort merge when trees have duplicate entries
  merge-ort: free diff pairs queue in clear_or_reinit_internal_opts()
  merge-ort: drop unnecessary show_all_errors from collect_merge_info()
  merge-ort: propagate callback errors from traverse_trees_wrapper()
</content>
</entry>
<entry>
<title>Merge branch 'ps/setup-wo-the-repository' into jch</title>
<updated>2026-05-17T13:58:50Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2026-05-17T13:58:49Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1074d974daeb9f9e7e04d77a9c00715242ca80a0'/>
<id>urn:sha1:1074d974daeb9f9e7e04d77a9c00715242ca80a0</id>
<content type='text'>
Many uses of the_repository has been updated to use a more
appropriate struct repository instance in setup.c codepath.

* ps/setup-wo-the-repository:
  setup: stop using `the_repository` in `init_db()`
  setup: stop using `the_repository` in `create_reference_database()`
  setup: stop using `the_repository` in `initialize_repository_version()`
  setup: stop using `the_repository` in `check_repository_format()`
  setup: stop using `the_repository` in `upgrade_repository_format()`
  setup: stop using `the_repository` in `setup_git_directory()`
  setup: stop using `the_repository` in `setup_git_directory_gently()`
  setup: stop using `the_repository` in `setup_git_env()`
  setup: stop using `the_repository` in `set_git_work_tree()`
  setup: stop using `the_repository` in `setup_work_tree()`
  setup: stop using `the_repository` in `enter_repo()`
  setup: stop using `the_repository` in `verify_non_filename()`
  setup: stop using `the_repository` in `verify_filename()`
  setup: stop using `the_repository` in `path_inside_repo()`
  setup: stop using `the_repository` in `prefix_path()`
  setup: stop using `the_repository` in `is_inside_git_dir()`
  setup: stop using `the_repository` in `is_inside_worktree()`
  setup: replace use of `the_repository` in static functions
</content>
</entry>
<entry>
<title>Merge branch 'sa/cat-file-batch-mailmap-switch' into jch</title>
<updated>2026-05-17T13:58:49Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2026-05-17T13:58:49Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=503e5b6fb1142dcd5d8e2c0cc89de9662122168d'/>
<id>urn:sha1:503e5b6fb1142dcd5d8e2c0cc89de9662122168d</id>
<content type='text'>
"git cat-file --batch" learns an in-line command "mailmap"
that lets the user toggle use of mailmap.

* sa/cat-file-batch-mailmap-switch:
  cat-file: add mailmap subcommand to --batch-command
</content>
</entry>
<entry>
<title>Merge branch 'ps/odb-in-memory' into jch</title>
<updated>2026-05-17T13:58:49Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2026-05-17T13:58:48Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=bde06d0ab28301b38fee4ec67d9ae2a0b7d08f25'/>
<id>urn:sha1:bde06d0ab28301b38fee4ec67d9ae2a0b7d08f25</id>
<content type='text'>
Add a new odb "in-memory" source that is meant to only hold
tentative objects (like the virtual blob object that represents the
working tree file used by "git blame").

* ps/odb-in-memory:
  t/unit-tests: add tests for the in-memory object source
  odb: generic in-memory source
  odb/source-inmemory: stub out remaining functions
  odb/source-inmemory: implement `freshen_object()` callback
  odb/source-inmemory: implement `count_objects()` callback
  odb/source-inmemory: implement `find_abbrev_len()` callback
  odb/source-inmemory: implement `for_each_object()` callback
  odb/source-inmemory: convert to use oidtree
  oidtree: add ability to store data
  cbtree: allow using arbitrary wrapper structures for nodes
  odb/source-inmemory: implement `write_object_stream()` callback
  odb/source-inmemory: implement `write_object()` callback
  odb/source-inmemory: implement `read_object_stream()` callback
  odb/source-inmemory: implement `read_object_info()` callback
  odb: fix unnecessary call to `find_cached_object()`
  odb/source-inmemory: implement `free()` callback
  odb: introduce "in-memory" source
</content>
</entry>
<entry>
<title>Merge branch 'jc/neuter-sideband-post-3.0' into jch</title>
<updated>2026-05-17T13:58:48Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2026-05-17T13:58:48Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b19fcb44c63d716453a4311ff2877e7b17754a90'/>
<id>urn:sha1:b19fcb44c63d716453a4311ff2877e7b17754a90</id>
<content type='text'>
The final step, split from earlier attempt by Dscho, to loosen the
sideband restriction for now and tighten later at Git v3.0 boundary.

* jc/neuter-sideband-post-3.0:
  sideband: delay sanitizing by default to Git v3.0
</content>
</entry>
<entry>
<title>Merge branch 'ps/shift-root-in-graph' into jch</title>
<updated>2026-05-17T13:58:47Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2026-05-17T13:58:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a392bb1d7b186558f72d9559581afc3212f639cf'/>
<id>urn:sha1:a392bb1d7b186558f72d9559581afc3212f639cf</id>
<content type='text'>
In a history with more than one root commit, "git log --graph
--oneline" stuffed an unrelated commit immediately below a root
commit, which has been corrected by making the spot below a root
unavailable.

* ps/shift-root-in-graph:
  graph: add indentation for commits preceded by a parentless commit
</content>
</entry>
<entry>
<title>Merge branch 'tb/incremental-midx-part-3.3' into jch</title>
<updated>2026-05-17T13:58:47Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2026-05-17T13:58:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=aff24012b8ebc2a2672f8b43f44fa7d2197ac261'/>
<id>urn:sha1:aff24012b8ebc2a2672f8b43f44fa7d2197ac261</id>
<content type='text'>
The repacking code has been refactored and compaction of MIDX layers
have been implemented, and incremental strategy that does not require
all-into-one repacking has been introduced.

* tb/incremental-midx-part-3.3:
  repack: allow `--write-midx=incremental` without `--geometric`
  repack: introduce `--write-midx=incremental`
  repack: implement incremental MIDX repacking
  packfile: ensure `close_pack_revindex()` frees in-memory revindex
  builtin/repack.c: convert `--write-midx` to an `OPT_CALLBACK`
  repack-geometry: prepare for incremental MIDX repacking
  repack-midx: extract `repack_fill_midx_stdin_packs()`
  repack-midx: factor out `repack_prepare_midx_command()`
  midx: expose `midx_layer_contains_pack()`
  repack: track the ODB source via existing_packs
  midx: support custom `--base` for incremental MIDX writes
  midx: introduce `--no-write-chain-file` for incremental MIDX writes
  midx: use `strvec` for `keep_hashes`
  midx: build `keep_hashes` array in order
  midx: use `strset` for retained MIDX files
  midx-write: handle noop writes when converting incremental chains
</content>
</entry>
<entry>
<title>Merge branch 'tb/pseudo-merge-bugfixes' into jch</title>
<updated>2026-05-17T13:58:46Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2026-05-17T13:58:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8b653b4dff43737f5a8de0a49cb6303b8dce5fc9'/>
<id>urn:sha1:8b653b4dff43737f5a8de0a49cb6303b8dce5fc9</id>
<content type='text'>
Fixes many bugs in pseudo-merge code.

* tb/pseudo-merge-bugfixes:
  pack-bitmap: prevent pattern leak on pseudo-merge re-assignment
  Documentation: fix broken `sampleRate` in gitpacking(7)
  pack-bitmap: reject pseudo-merge "sampleRate" of 0
  pack-bitmap: parse commits in `find_pseudo_merge_group_for_ref()`
  pack-bitmap: fix pseudo-merge lookup for shared commits
  pack-bitmap: fix inverted binary search in `pseudo_merge_at()`
  pack-bitmap-write: sort pseudo-merge commit lookup table in pack order
  t5333: demonstrate various pseudo-merge bugs
  t/helper: add 'test-tool bitmap write' subcommand
</content>
</entry>
<entry>
<title>Merge branch 'jk/dumb-http-alternate-fix' into jch</title>
<updated>2026-05-17T13:58:46Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2026-05-17T13:58:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a7d004dbf7828b95b937ce8f530331afee3a5074'/>
<id>urn:sha1:a7d004dbf7828b95b937ce8f530331afee3a5074</id>
<content type='text'>
The HTTP walker misinterpreted the alternates file that gives an
absolute path when the server URL does not have the final slash
(i.e., "https://example.com" not "https://example.com/").

* jk/dumb-http-alternate-fix:
  http: handle absolute-path alternates from server root
</content>
</entry>
<entry>
<title>Merge branch 'mm/diff-U-takes-no-negative-values' into jch</title>
<updated>2026-05-17T13:58:45Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2026-05-17T13:58:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=888c90a7fa566c89b1601c0feb328f0fbdef6174'/>
<id>urn:sha1:888c90a7fa566c89b1601c0feb328f0fbdef6174</id>
<content type='text'>
The command line parser for "git diff" learned a few options take
only non-negative integers.

* mm/diff-U-takes-no-negative-values:
  parse-options: clarify what "negated" means for PARSE_OPT_NONEG
  xdiff: guard against negative context lengths
  diff: reject negative values for -U/--unified
  diff: reject negative values for --inter-hunk-context
</content>
</entry>
</feed>
