<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/builtin/commit.c, branch main</title>
<subtitle>Fork of git SCM with my patches.</subtitle>
<id>http://git.kilabit.info/git/atom?h=main</id>
<link rel='self' href='http://git.kilabit.info/git/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/'/>
<updated>2026-03-24T19:31:32Z</updated>
<entry>
<title>Merge branch 'ps/history-split'</title>
<updated>2026-03-24T19:31:32Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2026-03-24T19:31:32Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=49e6a7cd63793459c397dd9e1d772c41f997067a'/>
<id>urn:sha1:49e6a7cd63793459c397dd9e1d772c41f997067a</id>
<content type='text'>
"git history" learned the "split" subcommand.

* ps/history-split:
  builtin/history: implement "split" subcommand
  builtin/history: split out extended function to create commits
  cache-tree: allow writing in-memory index as tree
  add-patch: allow disabling editing of hunks
  add-patch: add support for in-memory index patching
  add-patch: remove dependency on "add-interactive" subsystem
  add-patch: split out `struct interactive_options`
  add-patch: split out header from "add-interactive.h"
</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='http://git.kilabit.info/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>run-command: wean auto_maintenance() functions off the_repository</title>
<updated>2026-03-12T15:30:57Z</updated>
<author>
<name>Burak Kaan Karaçay</name>
<email>bkkaracay@gmail.com</email>
</author>
<published>2026-03-12T14:44:37Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=9df3be8e2e7e2c9bf200de4bcfbd4e690a57f033'/>
<id>urn:sha1:9df3be8e2e7e2c9bf200de4bcfbd4e690a57f033</id>
<content type='text'>
The prepare_auto_maintenance() relies on the_repository to read
configurations. Since run_auto_maintenance() calls
prepare_auto_maintenance(), it also implicitly depends the_repository.

Add 'struct repository *' as a parameter to both functions and update
all callers to pass the_repository.

With no global repository dependencies left in this file, remove the
USE_THE_REPOSITORY_VARIABLE macro.

Suggested-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Burak Kaan Karaçay &lt;bkkaracay@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'cs/add-skip-submodule-ignore-all'</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='http://git.kilabit.info/git/commit/?id=3fe08b8fd1f7731edabeab8138547ec88d6407de'/>
<id>urn:sha1:3fe08b8fd1f7731edabeab8138547ec88d6407de</id>
<content type='text'>
"git add &lt;submodule&gt;" has been taught to honor
submodule.&lt;name&gt;.ignore that is set to "all" (and requires "git add
-f" to override it).

* cs/add-skip-submodule-ignore-all:
  Documentation: update add --force option + ignore=all config
  tests: fix existing tests when add an ignore=all submodule
  tests: t2206-add-submodule-ignored: ignore=all and add --force tests
  read-cache: submodule add need --force given ignore=all configuration
  read-cache: update add_files_to_cache take param ignored_too
</content>
</entry>
<entry>
<title>commit, tag: parse --trailer with OPT_STRVEC</title>
<updated>2026-03-06T21:02:20Z</updated>
<author>
<name>Li Chen</name>
<email>me@linux.beauty</email>
</author>
<published>2026-03-06T14:53:31Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=5e148696bf86f0173dfc91571d15ba833ec19ccd'/>
<id>urn:sha1:5e148696bf86f0173dfc91571d15ba833ec19ccd</id>
<content type='text'>
Now that amend_file_with_trailers() expects raw trailer lines, do not
store argv-style "--trailer=&lt;trailer&gt;" strings in git commit and git
tag.

Parse --trailer using OPT_STRVEC so trailer_args contains only the
trailer value, and drop the temporary prefix stripping in
amend_file_with_trailers().

Signed-off-by: Li Chen &lt;me@linux.beauty&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>trailer: append trailers without fork/exec</title>
<updated>2026-03-06T21:02:20Z</updated>
<author>
<name>Li Chen</name>
<email>me@linux.beauty</email>
</author>
<published>2026-03-06T14:53:30Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=6b2243fdd45f0596fc640823faaa6a1aec05a420'/>
<id>urn:sha1:6b2243fdd45f0596fc640823faaa6a1aec05a420</id>
<content type='text'>
Introduce amend_strbuf_with_trailers() to apply trailer additions to a
message buffer via process_trailers(), avoiding the need to run git
interpret-trailers as a child process.

Update amend_file_with_trailers() to use the in-process helper and
rewrite the target file via tempfile+rename, preserving the previous
in-place semantics. As the trailers are no longer added in a separate
process and trailer_config_init() die()s on missing config values it
is called early on in cmd_commit() and cmd_tag() so that they die()
early before writing the message file. The trailer arguments are now
also sanity checked.

Keep existing callers unchanged by continuing to accept argv-style
--trailer=&lt;trailer&gt; entries and stripping the prefix before feeding the
in-process implementation.

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>add-patch: split out `struct interactive_options`</title>
<updated>2026-03-03T23:09:35Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2026-03-02T12:13:06Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=e3d4d7787cc3b2f0281e808042ceaa08e05c281b'/>
<id>urn:sha1:e3d4d7787cc3b2f0281e808042ceaa08e05c281b</id>
<content type='text'>
The `struct add_p_opt` is reused both by our infra for "git add -p" and
"git add -i". Users of `run_add_i()` for example are expected to pass
`struct add_p_opt`. This is somewhat confusing and raises the question
of which options apply to what part of the stack.

But things are even more confusing than that: while callers are expected
to pass in `struct add_p_opt`, these options ultimately get used to
initialize a `struct add_i_state` that is used by both subsystems. So we
are basically going full circle here.

Refactor the code and split out a new `struct interactive_options` that
hosts common options used by both. These options are then applied to a
`struct interactive_config` that hosts common configuration.

This refactoring doesn't yet fully detangle the two subsystems from one
another, as we still end up calling `init_add_i_state()` in the "git add
-p" subsystem. This will be fixed in a subsequent commit.

Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>mailmap: stop using the_repository</title>
<updated>2026-02-20T16:13:58Z</updated>
<author>
<name>Burak Kaan Karaçay</name>
<email>bkkaracay@gmail.com</email>
</author>
<published>2026-02-20T06:04:41Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=999b09348d6302d018165b4b3d289d4579d08e9e'/>
<id>urn:sha1:999b09348d6302d018165b4b3d289d4579d08e9e</id>
<content type='text'>
The 'read_mailmap' and 'read_mailmap_blob' functions rely on the global
'the_repository' variable. Update both functions to accept a
'struct repository' parameter.

Update all callers to pass 'the_repository' to retain the current
behavior.

Signed-off-by: Burak Kaan Karaçay &lt;bkkaracay@gmail.com&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='http://git.kilabit.info/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>read-cache: update add_files_to_cache take param ignored_too</title>
<updated>2026-02-06T17:43:26Z</updated>
<author>
<name>Claus Schneider(Eficode)</name>
<email>claus.schneider@eficode.com</email>
</author>
<published>2026-02-06T13:22:56Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=37196d8995ee60e08230c5d05dfd26204d604580'/>
<id>urn:sha1:37196d8995ee60e08230c5d05dfd26204d604580</id>
<content type='text'>
The ignored_too parameter is added to the function
add_files_to_cache for usage of explicit updating the index for the updated
submodule using the explicit patchspec to the submodule.

Signed-off-by: Claus Schneider(Eficode) &lt;claus.schneider@eficode.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
