From: Junio C Hamano <gitster@pobox.com>
To: "Rubén Justo" <rjusto@gmail.com>
Cc: Git List <git@vger.kernel.org>
Subject: Re: [PATCH 3/5] apply: whitespace errors in context lines if we have
Date: Mon, 26 Aug 2024 17:43:39 -0700 [thread overview]
Message-ID: <xmqqo75eeqx0.fsf@gitster.g> (raw)
In-Reply-To: <5da09529-e95b-407b-9e66-34ebac4b4128@gmail.com> ("Rubén Justo"'s message of "Sun, 25 Aug 2024 12:18:44 +0200")
Rubén Justo <rjusto@gmail.com> writes:
> If the user says `--no-ignore-space-change`, there's no need to
> check for whitespace errors in the context lines.
>
> Don't do it.
>
> Signed-off-by: Rubén Justo <rjusto@gmail.com>
> ---
> apply.c | 3 ++-
> t/t4124-apply-ws-rule.sh | 3 ++-
> 2 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/apply.c b/apply.c
> index 0cb9d38e5a..e1b4d14dba 100644
> --- a/apply.c
> +++ b/apply.c
> @@ -1734,7 +1734,8 @@ static int parse_fragment(struct apply_state *state,
> trailing++;
> check_old_for_crlf(patch, line, len);
> if (!state->apply_in_reverse &&
> - state->ws_error_action == correct_ws_error)
> + state->ws_error_action == correct_ws_error &&
> + state->ws_ignore_action != ignore_ws_none)
> check_whitespace(state, line, len, patch->ws_rule);
> break;
Hmph. 0a80bc9f (apply: detect and mark whitespace errors in context
lines when fixing, 2015-01-16) deliberately added this check because
we will correct the whitespace breakages on these lines after
parsing the hunk with this function while applying.
It is iffy that this case arm for " " kicks in ONLY when applying in
the forward direction (which is not what you are changing). When
applying a patch in reverse, " " is still an "unchanged" context
line, so we should be treating it the same way regardless of the
direction.
But at least the call to check_whitespace() from this place when we
are correcting whitespace rule violations is not iffy, as far as I
can tell.
> diff --git a/t/t4124-apply-ws-rule.sh b/t/t4124-apply-ws-rule.sh
> index 573200da67..e12b8333c3 100755
> --- a/t/t4124-apply-ws-rule.sh
> +++ b/t/t4124-apply-ws-rule.sh
> @@ -569,7 +569,8 @@ test_expect_success 'whitespace=fix honors no-ignore-whitespace' '
> +A
> BZZ
> EOF
> - git apply --no-ignore-whitespace --whitespace=fix patch
> + git apply --no-ignore-whitespace --whitespace=fix patch 2>error &&
> + test_must_be_empty error
> '
>
> test_expect_success 'whitespace check skipped for excluded paths' '
next prev parent reply other threads:[~2024-08-27 0:43 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-25 10:09 [PATCH 0/5] `--whitespace=fix` with `--no-ignore-whitespace` Rubén Justo
2024-08-25 10:17 ` [PATCH 1/5] apply: introduce `ignore_ws_default` Rubén Justo
2024-08-27 1:11 ` Junio C Hamano
2024-08-25 10:18 ` [PATCH 2/5] apply: honor `ignore_ws_none` with `correct_ws_error` Rubén Justo
2024-08-27 0:35 ` Junio C Hamano
2024-08-29 5:07 ` Rubén Justo
2024-08-29 23:13 ` Junio C Hamano
2024-09-03 22:06 ` Rubén Justo
2024-09-04 4:41 ` Junio C Hamano
2024-09-04 18:20 ` Rubén Justo
2024-08-25 10:18 ` [PATCH 3/5] apply: whitespace errors in context lines if we have Rubén Justo
2024-08-27 0:43 ` Junio C Hamano [this message]
2024-08-27 1:49 ` Junio C Hamano
2024-08-27 16:12 ` Junio C Hamano
2024-08-27 0:51 ` Junio C Hamano
2024-08-25 10:19 ` [PATCH 4/5] apply: error message in `record_ws_error()` Rubén Justo
2024-08-27 0:44 ` Junio C Hamano
2024-08-25 10:19 ` [PATCH 5/5] t4124: move test preparation into the test context Rubén Justo
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=xmqqo75eeqx0.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=rjusto@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).