diff options
| author | Patrick Steinhardt <ps@pks.im> | 2025-10-27 12:33:55 +0100 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2025-11-05 13:47:45 -0800 |
| commit | cbc5c2f72f8137043ce48ca39258e12670ff5c71 (patch) | |
| tree | 90b00fd45f0026891dc7ece57baa0d1f0c8328c0 /commit.h | |
| parent | add-patch: split out header from "add-interactive.h" (diff) | |
| download | git-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 '')
| -rw-r--r-- | commit.h | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -258,7 +258,7 @@ int for_each_commit_graft(each_commit_graft_fn, void *); int interactive_add(struct repository *repo, const char **argv, const char *prefix, - int patch, struct add_p_opt *add_p_opt); + int patch, struct interactive_options *opts); struct commit_extra_header { struct commit_extra_header *next; |
