From: "Usman Akinyemi via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Usman Akinyemi <usmanakinyemi202@gmail.com>,
Usman Akinyemi <usmanakinyemi202@gmail.com>
Subject: [PATCH] diff: update conflict handling for whitespace to issue a warning
Date: Mon, 11 Nov 2024 17:49:55 +0000 [thread overview]
Message-ID: <pull.1828.git.git.1731347396097.gitgitgadget@gmail.com> (raw)
From: Usman Akinyemi <usmanakinyemi202@gmail.com>
Modify the conflict resolution between tab-in-indent and
indent-with-non-tab to issue a warning instead of terminating
the operation with `die()`. Update the `git diff --check` test to
capture and verify the warning message output.
Suggested-by: Phillip Wood <phillip.wood123@gmail.com>
Signed-off-by: Usman Akinyemi <usmanakinyemi202@gmail.com>
---
diff: update conflict handling for whitespace to issue a warning
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1828%2FUnique-Usman%2Fmaster-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1828/Unique-Usman/master-v1
Pull-Request: https://github.com/git/git/pull/1828
t/t4015-diff-whitespace.sh | 3 ++-
ws.c | 7 +++++--
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/t/t4015-diff-whitespace.sh b/t/t4015-diff-whitespace.sh
index 851cfe4f32c..ada3f90b288 100755
--- a/t/t4015-diff-whitespace.sh
+++ b/t/t4015-diff-whitespace.sh
@@ -808,7 +808,8 @@ test_expect_success 'ditto, but tabwidth=1 (must be irrelevant)' '
test_expect_success 'check tab-in-indent and indent-with-non-tab conflict' '
git config core.whitespace "tab-in-indent,indent-with-non-tab" &&
echo "foo ();" >x &&
- test_must_fail git diff --check
+ git diff --check 2>error &&
+ test_grep "warning: cannot enforce both tab-in-indent and indent-with-non-tab, removing tab-in-indent" error
'
test_expect_success 'check tab-in-indent excluded from wildcard whitespace attribute' '
diff --git a/ws.c b/ws.c
index 9456e2fdbe3..2c11715177e 100644
--- a/ws.c
+++ b/ws.c
@@ -6,6 +6,7 @@
#include "git-compat-util.h"
#include "attr.h"
#include "strbuf.h"
+#include "gettext.h"
#include "ws.h"
unsigned whitespace_rule_cfg = WS_DEFAULT_RULE;
@@ -70,8 +71,10 @@ unsigned parse_whitespace_rule(const char *string)
string = ep;
}
- if (rule & WS_TAB_IN_INDENT && rule & WS_INDENT_WITH_NON_TAB)
- die("cannot enforce both tab-in-indent and indent-with-non-tab");
+ if (rule & WS_TAB_IN_INDENT && rule & WS_INDENT_WITH_NON_TAB) {
+ warning(_("cannot enforce both tab-in-indent and indent-with-non-tab, removing tab-in-indent"));
+ rule &= ~WS_TAB_IN_INDENT;
+ }
return rule;
}
base-commit: facbe4f633e4ad31e641f64617bc88074c659959
--
gitgitgadget
next reply other threads:[~2024-11-11 17:49 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-11 17:49 Usman Akinyemi via GitGitGadget [this message]
2024-11-11 23:59 ` [PATCH] diff: update conflict handling for whitespace to issue a warning Junio C Hamano
2024-11-13 19:01 ` [PATCH v2] " Usman Akinyemi via GitGitGadget
2024-11-14 2:15 ` Junio C Hamano
2024-11-14 10:06 ` Phillip Wood
2024-11-14 11:29 ` Usman Akinyemi
2024-11-15 0:11 ` Junio C Hamano
2024-11-18 21:03 ` Usman Akinyemi
2024-11-19 0:36 ` Junio C Hamano
2024-11-19 16:49 ` Phillip Wood
2024-11-20 1:23 ` Junio C Hamano
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=pull.1828.git.git.1731347396097.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=git@vger.kernel.org \
--cc=usmanakinyemi202@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).