From: Junio C Hamano <gitster@pobox.com>
To: Abraham Samuel Adekunle <abrahamadekunle50@gmail.com>
Cc: git@vger.kernel.org, "Patrick Steinhardt" <ps@pks.im>,
"Phillip Wood" <phillip.wood123@gmail.com>,
"SZEDER Gábor" <szeder.dev@gmail.com>,
"Christian Couder" <christian.couder@gmail.com>,
"Kristoffer Haugsbakk" <kristofferhaugsbakk@fastmail.com>,
"Ben Knoble" <ben.knoble@gmail.com>,
"Karthik Nayak" <karthik.188@gmail.com>
Subject: Re: [PATCH v3 1/3] interactive -p: add new `--rework-with-file` flag to interactive machinery
Date: Fri, 06 Feb 2026 10:25:23 -0800 [thread overview]
Message-ID: <xmqq8qd5g25o.fsf@gitster.g> (raw)
In-Reply-To: <c0fa65b429b4a5c33c4a2092e0e8d014a61e4569.1770390576.git.abrahamadekunle50@gmail.com> (Abraham Samuel Adekunle's message of "Fri, 6 Feb 2026 16:54:47 +0100")
Abraham Samuel Adekunle <abrahamadekunle50@gmail.com> writes:
> When using the interactive add, reset, stash or checkout machinery, we do
> not have the option of reworking with a file because the session automatically
> advances to the next file or ends if we have just one file, immediately all hunks
> in a file are decided on.
The last part of the sentence after the last comma does not read
very well, at least to me.
We recommend to fold lines in such a way that after a few e-mail
exchange and quoting it will still stay within 80-column, so a
practical fill-column value lies somewhere around ~70. Your lines a
slightly longer.
> Introduce the flag "--rework-with-file" when interactively selecting patches with the
> '--patch' option, which does not auto advance, thereby allowing users the option
> to rework with files.
> This ensures the current auto-advance method stays as the default method.
OK. There may be suggestions for better option names from others; I
do not think of any right now.
> diff --git a/add-interactive.h b/add-interactive.h
> index da49502b76..aef2feca56 100644
> --- a/add-interactive.h
> +++ b/add-interactive.h
> @@ -6,9 +6,10 @@
> struct add_p_opt {
> int context;
> int interhunkcontext;
> + int no_auto_advance;
> };
We add a new risk of double-negation confusion, e.g.,
if (!opt->no_auto_advance)
... do the auto-advance thing ...
where it may be easier to follow if it were written
if (opt->auto_advance)
... do the auto-advance thing ...
Would it make it harder to arrange the code if we made this member
"auto_advance" that defaults to "true"? We have ADD_P_OPT_INIT that
everybody is supposed to call already, like this
> -#define ADD_P_OPT_INIT { .context = -1, .interhunkcontext = -1 }
> +#define ADD_P_OPT_INIT { .context = -1, .interhunkcontext = -1, .no_auto_advance = 0 }
so I do not imagine it would be too much hassle.
> @@ -28,7 +29,7 @@ struct add_i_state {
>
> int use_single_key;
> char *interactive_diff_filter, *interactive_diff_algorithm;
> - int context, interhunkcontext;
> + int context, interhunkcontext, no_auto_advance;
> };
Likewise.
> diff --git a/builtin/add.c b/builtin/add.c
> index 32709794b3..408827cf54 100644
> --- a/builtin/add.c
> +++ b/builtin/add.c
> @@ -256,6 +256,8 @@ static struct option builtin_add_options[] = {
> OPT_GROUP(""),
> OPT_BOOL('i', "interactive", &add_interactive, N_("interactive picking")),
> OPT_BOOL('p', "patch", &patch_interactive, N_("select hunks interactively")),
> + OPT_BOOL(0, "rework-with-file", &add_p_opt.no_auto_advance,
> + N_("rework with files when selecting hunks interactively")),
Likewise.
next prev parent reply other threads:[~2026-02-06 18:25 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-23 11:56 [RFC PATCH 0/1] add-patch: Allow reworking with a file after deciding on its hunks Abraham Samuel Adekunle
2026-01-23 11:58 ` [RFC PATCH 1/1] add-patch: Allow reworking with a file after deciding on all " Abraham Samuel Adekunle
2026-01-23 16:38 ` Junio C Hamano
2026-01-23 21:43 ` Samuel Abraham
2026-01-27 15:43 ` [PATCH v2 0/1] Allow reworking with a file when making hunk decisions Abraham Samuel Adekunle
2026-01-27 15:45 ` [PATCH v2 1/1] Allow reworking with a file after deciding on all its hunks Abraham Samuel Adekunle
2026-01-27 20:48 ` Junio C Hamano
2026-01-28 11:26 ` Samuel Abraham
2026-01-30 9:22 ` Samuel Abraham
2026-01-30 16:29 ` Junio C Hamano
2026-01-30 17:36 ` Samuel Abraham
2026-01-31 19:25 ` Junio C Hamano
2026-02-02 11:14 ` Samuel Abraham
2026-02-02 17:26 ` Junio C Hamano
2026-02-03 9:55 ` Samuel Abraham
2026-01-27 17:04 ` [PATCH v2 0/1] Allow reworking with a file when making hunk decisions Junio C Hamano
2026-01-28 9:49 ` Samuel Abraham
2026-02-06 15:52 ` [PATCH v3 0/3] introduce new option `rework-with-file` Abraham Samuel Adekunle
2026-02-06 15:54 ` [PATCH v3 1/3] interactive -p: add new `--rework-with-file` flag to interactive machinery Abraham Samuel Adekunle
2026-02-06 18:25 ` Junio C Hamano [this message]
2026-02-06 20:21 ` Samuel Abraham
2026-02-06 15:56 ` [PATCH v3 2/3] add-patch: Allow interfile navigation when selecting hunks Abraham Samuel Adekunle
2026-02-06 18:35 ` Junio C Hamano
2026-02-06 20:22 ` Samuel Abraham
2026-02-06 18:54 ` Junio C Hamano
2026-02-06 20:32 ` Samuel Abraham
2026-02-06 19:21 ` Junio C Hamano
2026-02-06 20:37 ` Samuel Abraham
2026-02-12 10:32 ` Samuel Abraham
2026-02-12 17:25 ` Junio C Hamano
2026-02-12 21:13 ` Samuel Abraham
2026-02-12 21:31 ` Junio C Hamano
2026-02-12 22:20 ` Samuel Abraham
2026-02-06 15:57 ` [PATCH v3 3/3] add-patch: Allow proper 'git apply' when using the --rework-with-file flag Abraham Samuel Adekunle
2026-02-06 19:02 ` Junio C Hamano
2026-02-06 20:39 ` Samuel Abraham
2026-02-06 19:19 ` [PATCH v3 0/3] introduce new option `rework-with-file` Junio C Hamano
2026-02-06 20:40 ` Samuel Abraham
2026-02-13 22:08 ` [PATCH v4 0/4] introduce new option `--auto-advance` Abraham Samuel Adekunle
2026-02-13 22:09 ` [PATCH v4 1/4] interactive -p: add new `--auto-advance` flag Abraham Samuel Adekunle
2026-02-13 23:04 ` Junio C Hamano
2026-02-14 9:16 ` Samuel Abraham
2026-02-13 22:10 ` [PATCH v4 2/4] add-patch: modify patch_update_file() signature Abraham Samuel Adekunle
2026-02-13 23:33 ` Junio C Hamano
2026-02-14 10:14 ` Samuel Abraham
2026-02-13 22:11 ` [PATCH v4 3/4] add-patch: allow all-or-none application of patches Abraham Samuel Adekunle
2026-02-13 22:12 ` [PATCH v4 4/4] add-patch: allow interfile navigation when selecting hunks Abraham Samuel Adekunle
2026-02-14 11:01 ` [PATCH v5 0/4] introduce new option `--auto-advance` Abraham Samuel Adekunle
2026-02-14 11:03 ` [PATCH v5 1/4] interactive -p: add new `--auto-advance` flag Abraham Samuel Adekunle
2026-02-14 11:04 ` [PATCH v5 2/4] add-patch: modify patch_update_file() signature Abraham Samuel Adekunle
2026-02-14 11:06 ` [PATCH v5 3/4] add-patch: allow all-or-none application of patches Abraham Samuel Adekunle
2026-02-14 11:06 ` [PATCH v5 4/4] add-patch: allow interfile navigation when selecting hunks Abraham Samuel Adekunle
2026-02-20 22:32 ` [PATCH v5 0/4] introduce new option `--auto-advance` Junio C Hamano
2026-02-21 9:06 ` Samuel Abraham
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqq8qd5g25o.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=abrahamadekunle50@gmail.com \
--cc=ben.knoble@gmail.com \
--cc=christian.couder@gmail.com \
--cc=git@vger.kernel.org \
--cc=karthik.188@gmail.com \
--cc=kristofferhaugsbakk@fastmail.com \
--cc=phillip.wood123@gmail.com \
--cc=ps@pks.im \
--cc=szeder.dev@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.