<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/sequencer.c, 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-03T20:01:09Z</updated>
<entry>
<title>Merge branch 'sa/replay-revert'</title>
<updated>2026-04-03T20:01:09Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2026-04-03T20:01:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e0613d24f9902a581b6a1cf0aa39b517db1e3f2f'/>
<id>urn:sha1:e0613d24f9902a581b6a1cf0aa39b517db1e3f2f</id>
<content type='text'>
"git replay" (experimental) learns, in addition to "pick" and
"replay", a new operating mode "revert".

* sa/replay-revert:
  replay: add --revert mode to reverse commit changes
  sequencer: extract revert message formatting into shared function
</content>
</entry>
<entry>
<title>sequencer: extract revert message formatting into shared function</title>
<updated>2026-03-25T21:20:57Z</updated>
<author>
<name>Siddharth Asthana</name>
<email>siddharthasthana31@gmail.com</email>
</author>
<published>2026-03-25T20:23:51Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1e6434ebbd63d4ec0ad2f8bccf25bd0d98d55030'/>
<id>urn:sha1:1e6434ebbd63d4ec0ad2f8bccf25bd0d98d55030</id>
<content type='text'>
The logic for formatting revert commit messages (handling "Revert" and
"Reapply" cases, appending "This reverts commit &lt;ref&gt;.", and handling
merge-parent references) currently lives inline in do_pick_commit().
The upcoming replay --revert mode needs to reuse this logic.

Extract all of this into a new sequencer_format_revert_message()
function. The function takes a repository, the subject line, commit,
parent, a use_commit_reference flag, and the output strbuf. It handles
both regular reverts ("Revert "&lt;subject&gt;"") and revert-of-revert cases
("Reapply "&lt;subject&gt;""), and uses refer_to_commit() internally to
format the commit reference.

Update refer_to_commit() to take a struct repository parameter instead
of relying on the_repository, and a bool instead of reading from
replay_opts directly. This makes it usable from the new shared function
without pulling in sequencer-specific state.

Signed-off-by: Siddharth Asthana &lt;siddharthasthana31@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'lc/rebase-trailer'</title>
<updated>2026-03-19T16:54:56Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2026-03-19T16:54:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=accd0e107bb36cbcdb158f8bb19d5bae589294a9'/>
<id>urn:sha1:accd0e107bb36cbcdb158f8bb19d5bae589294a9</id>
<content type='text'>
"git rebase" learns "--trailer" command to drive the
interpret-trailers machinery.

* lc/rebase-trailer:
  rebase: support --trailer
  commit, tag: parse --trailer with OPT_STRVEC
  trailer: append trailers without fork/exec
  trailer: libify a couple of functions
  interpret-trailers: refactor create_in_place_tempfile()
  interpret-trailers: factor trailer rewriting
</content>
</entry>
<entry>
<title>Merge branch 'ar/run-command-hook-take-2'</title>
<updated>2026-03-09T21:36:55Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2026-03-09T21:36:55Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5c56c725f104ce278fe1ec0ea0fce0ccfb245aea'/>
<id>urn:sha1:5c56c725f104ce278fe1ec0ea0fce0ccfb245aea</id>
<content type='text'>
Use the hook API to replace ad-hoc invocation of hook scripts via
the run_command() API.

* ar/run-command-hook-take-2:
  builtin/receive-pack: avoid spinning no-op sideband async threads
  receive-pack: convert receive hooks to hook API
  receive-pack: convert update hooks to new API
  run-command: poll child input in addition to output
  hook: add jobs option
  reference-transaction: use hook API instead of run-command
  transport: convert pre-push to hook API
  hook: allow separate std[out|err] streams
  hook: convert 'post-rewrite' hook in sequencer.c to hook API
  hook: provide stdin via callback
  run-command: add stdin callback for parallelization
  run-command: add helper for pp child states
  t1800: add hook output stream tests
</content>
</entry>
<entry>
<title>rebase: support --trailer</title>
<updated>2026-03-06T21:02:20Z</updated>
<author>
<name>Li Chen</name>
<email>me@linux.beauty</email>
</author>
<published>2026-03-06T14:53:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e4f9d6b0ab2e1903765258991a6265599d0007ce'/>
<id>urn:sha1:e4f9d6b0ab2e1903765258991a6265599d0007ce</id>
<content type='text'>
Add a new --trailer=&lt;trailer&gt; option to git rebase to append trailer
lines to each rewritten commit message (merge backend only).

Because the apply backend does not provide a commit-message filter,
reject --trailer when --apply is in effect and require the merge backend
instead.

This option implies --force-rebase so that fast-forwarded commits are
also rewritten. Validate trailer arguments early to avoid starting an
interactive rebase with invalid input.

Add integration tests covering error paths and trailer insertion across
non-interactive and interactive rebases.

Signed-off-by: Li Chen &lt;me@linux.beauty&gt;
Signed-off-by: Phillip Wood &lt;phillip.wood@dunelm.org.uk&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ps/commit-list-functions-renamed'</title>
<updated>2026-02-13T21:39:25Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2026-02-13T21:39:25Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=528820243334c55e015047477e720a14bc9cf25f'/>
<id>urn:sha1:528820243334c55e015047477e720a14bc9cf25f</id>
<content type='text'>
Rename three functions around the commit_list data structure.

* ps/commit-list-functions-renamed:
  commit: rename `free_commit_list()` to conform to coding guidelines
  commit: rename `reverse_commit_list()` to conform to coding guidelines
  commit: rename `copy_commit_list()` to conform to coding guidelines
</content>
</entry>
<entry>
<title>hook: convert 'post-rewrite' hook in sequencer.c to hook API</title>
<updated>2026-01-28T23:47:03Z</updated>
<author>
<name>Emily Shaffer</name>
<email>emilyshaffer@google.com</email>
</author>
<published>2026-01-28T21:39:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e8ee80cfb692139d0ca305995effe253b7a00463'/>
<id>urn:sha1:e8ee80cfb692139d0ca305995effe253b7a00463</id>
<content type='text'>
Replace the custom run-command calls used by post-rewrite with
the newer and simpler hook_run_opt(), which does not need to
create a custom 'struct child_process' or call find_hook().

Another benefit of using the hook API is that hook_run_opt()
handles the SIGPIPE toggle logic.

Signed-off-by: Emily Shaffer &lt;emilyshaffer@google.com&gt;
Signed-off-by: Ævar Arnfjörð Bjarmason &lt;avarab@gmail.com&gt;
Signed-off-by: Adrian Ratiu &lt;adrian.ratiu@collabora.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'rs/tree-wo-the-repository'</title>
<updated>2026-01-22T00:16:28Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2026-01-22T00:16:28Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=214cbb7b1dc876c4d51442b59b7f850e47916fc5'/>
<id>urn:sha1:214cbb7b1dc876c4d51442b59b7f850e47916fc5</id>
<content type='text'>
Remove implicit reliance on the_repository global in the APIs
around tree objects and make it explicit which repository to work
in.

* rs/tree-wo-the-repository:
  cocci: remove obsolete the_repository rules
  cocci: convert parse_tree functions to repo_ variants
  tree: stop using the_repository
  tree: use repo_parse_tree()
  path-walk: use repo_parse_tree_gently()
  pack-bitmap-write: use repo_parse_tree()
  delta-islands: use repo_parse_tree()
  bloom: use repo_parse_tree()
  add-interactive: use repo_parse_tree_indirect()
  tree: add repo_parse_tree*()
  environment: move access to core.maxTreeDepth into repo settings
</content>
</entry>
<entry>
<title>Revert "Merge branch 'ar/run-command-hook'"</title>
<updated>2026-01-15T21:02:38Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2026-01-15T19:12:53Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a3d1f391d35762162356201028fb73774a6c4a8b'/>
<id>urn:sha1:a3d1f391d35762162356201028fb73774a6c4a8b</id>
<content type='text'>
This reverts commit f406b8955295d01089ba2baf35eceadff2d11cae,
reversing changes made to 1627809eeff75e6ec936fc609e7be46d5eb2fa9e.

It seems to have caused a few regressions, two of the three known
ones we have proposed solutions for.  Let's give ourselves a bit
more room to maneuver during the pre-release freeze period and
restart once the 2.53 ships.
</content>
</entry>
<entry>
<title>commit: rename `free_commit_list()` to conform to coding guidelines</title>
<updated>2026-01-15T13:32:31Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2026-01-15T09:35:34Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9f18d089c51fba2776fe1fece877a359c47417f7'/>
<id>urn:sha1:9f18d089c51fba2776fe1fece877a359c47417f7</id>
<content type='text'>
Our coding guidelines say that:

  Functions that operate on `struct S` are named `S_&lt;verb&gt;()` and should
  generally receive a pointer to `struct S` as first parameter.

While most of the functions related to `struct commit_list` already
follow that naming schema, `free_commit_list()` doesn't.

Rename the function to address this and adjust all of its callers. Add a
compatibility wrapper for the old function name to ease the transition
and avoid any semantic conflicts with in-flight patch series. This
wrapper will be removed once Git 2.53 has been released.

Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
