aboutsummaryrefslogtreecommitdiffstats
path: root/commit.c
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2025-10-27 12:33:55 +0100
committerJunio C Hamano <gitster@pobox.com>2025-11-05 13:47:45 -0800
commitcbc5c2f72f8137043ce48ca39258e12670ff5c71 (patch)
tree90b00fd45f0026891dc7ece57baa0d1f0c8328c0 /commit.c
parentadd-patch: split out header from "add-interactive.h" (diff)
downloadgit-cbc5c2f72f8137043ce48ca39258e12670ff5c71.tar.gz
git-cbc5c2f72f8137043ce48ca39258e12670ff5c71.zip
add-patch: split out `struct interactive_options`
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 <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'commit.c')
0 files changed, 0 insertions, 0 deletions