[PATCH v5 0/4] introduce new option `--auto-advance`
- From
Abraham Samuel Adekunle <abrahamadekunle50@gmail.com>
- Date
- Feb 14, 2026, 11:01 UTC
- Message-ID
- <cover.1771066252.git.abrahamadekunle50@gmail.com>
- In-Reply-To
- <cover.1771015581.git.abrahamadekunle50@gmail.com>
Hello,
After after more reviews and deliberations, I have been able to rename the new option name to `--auto-advance`, where the --no-auto-advance implements the feature and does not auto advance while --auto-advance is the default and maintains the current behaviour.
With the option, users can navigate in between files while deciding on hunks as they wish with the '>' and '<' option for going to the next and previous file respectively if there are more than one file.
Patch 1 implements the new `--no-auto-advance` options, Patch 2 modifies the function `patch_update_file()` to instead take the index of the file as parameter instead of the file_diff. Patch 3 moves the 'git apply' logic into a function so that we can reuse this logic when implementing the all or none application of patches. Patch 4 implements the interfile navigation, and adds tests to the interactive test file.
Changes in v5: ==============
- Moved 'auto_advance' member in struct add_i_state to its own line - Removed redundant lodic to set s->auto-advance in init_add_i_state() - Modified patch_update_file() to return size_t - Modified the logic which checks when to quit in run_add_p() to check for s->file_diff_nr instead of a negative value.
Abraham Samuel Adekunle (4): interactive -p: add new `--auto-advance` flag add-patch: modify patch_update_file() signature add-patch: allow all-or-none application of patches add-patch: allow interfile navigation when selecting hunks
add-interactive.c | 2 + add-interactive.h | 4 +- add-patch.c | 154 +++++++++++++++++++++++++++---------- builtin/add.c | 4 + builtin/checkout.c | 7 ++ builtin/reset.c | 4 + builtin/stash.c | 8 ++ t/t3701-add-interactive.sh | 100 ++++++++++++++++++++++++ t/t9902-completion.sh | 1 + 9 files changed, 241 insertions(+), 43 deletions(-)
-- 2.39.5 (Apple Git-154)