From: "Rubén Justo" <rjusto@gmail.com>
To: Git List <git@vger.kernel.org>
Subject: [PATCH 1/5] apply: introduce `ignore_ws_default`
Date: Sun, 25 Aug 2024 12:17:37 +0200 [thread overview]
Message-ID: <5e35f260-056c-4af3-95d9-70d6f117bff9@gmail.com> (raw)
In-Reply-To: <6dd964c2-9dee-4257-8f1a-5bc31a73722e@gmail.com>
When we see `--whitespace=fix` we don't consider a possible
option: `--no-ignore-whitespace`.
The expected result in the following example is a failure when
applying the patch, however:
$ printf "a \nb\nc\n" >file
$ git add file
$ cat >patch <<END
--- a/file
+++ b/file
@@ -1,3 +1,2 @@
a
-b
c
END
$ git apply --no-ignore-whitespace --whitespace=fix patch
$ xxd file
00000000: 610a 630a a.c.
This unexpected result will be addressed in an upcoming commit.
As a preparation, we need to detect when the user has explicitly
said `--no-ignore-whitespace`.
Let's add a new value: `ignore_ws_default`, and use it to initialize
`ws_ignore_action` in `init_apply_state()`. This will allow us to
distinguish whether the user has explicitly set any value for
`ws_ignore_action` via `--[no-]ignore-whitespace` or via
`apply.ignoreWhitespace`.
Currently, we only have one explicit consideration for
`ignore_ws_change`, and no, implicit or explicit, considerations for
`ignore_ws_none`. Therefore, no modification to the existing logic
is required in this step.
Signed-off-by: Rubén Justo <rjusto@gmail.com>
---
apply.c | 2 +-
apply.h | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/apply.c b/apply.c
index 6e1060a952..63e58086f1 100644
--- a/apply.c
+++ b/apply.c
@@ -115,7 +115,7 @@ int init_apply_state(struct apply_state *state,
state->p_context = UINT_MAX;
state->squelch_whitespace_errors = 5;
state->ws_error_action = warn_on_ws_error;
- state->ws_ignore_action = ignore_ws_none;
+ state->ws_ignore_action = ignore_ws_default;
state->linenr = 1;
string_list_init_nodup(&state->fn_table);
string_list_init_nodup(&state->limit_by_name);
diff --git a/apply.h b/apply.h
index cd25d24cc4..201f953a64 100644
--- a/apply.h
+++ b/apply.h
@@ -16,6 +16,7 @@ enum apply_ws_error_action {
};
enum apply_ws_ignore {
+ ignore_ws_default,
ignore_ws_none,
ignore_ws_change
};
--
2.46.0.353.g385c909849
next prev parent reply other threads:[~2024-08-25 10:17 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 ` Rubén Justo [this message]
2024-08-27 1:11 ` [PATCH 1/5] apply: introduce `ignore_ws_default` 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
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=5e35f260-056c-4af3-95d9-70d6f117bff9@gmail.com \
--to=rjusto@gmail.com \
--cc=git@vger.kernel.org \
/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).