From: Justin Tobler <jltobler@gmail.com>
To: git@vger.kernel.org
Cc: christian.couder@gmail.com, Justin Tobler <jltobler@gmail.com>
Subject: [PATCH v3 2/4] quote: add quote_path() flag to ignore config
Date: Sat, 1 Feb 2025 14:16:56 -0600 [thread overview]
Message-ID: <20250201201658.11562-3-jltobler@gmail.com> (raw)
In-Reply-To: <20250201201658.11562-1-jltobler@gmail.com>
The `quote_path()` function invokes `quote_c_style_counted()` to handle
quoting. This means the output `quote_path()` is ultimately affected by
`core.quotePath` configuration. In a subsequent commit, `quote_path()`
will be used in a scenario where the output should remain consistent
regardless of the current configuration.
Introduce the `QUOTE_PATH_IGNORE_CONFIG` flag for `quote_path()`which
when set instructs the underlying `quote_c_style_counted()` to also
ignore the `core.quotePath` configuration when executed.
Signed-off-by: Justin Tobler <jltobler@gmail.com>
---
quote.c | 13 ++++++++++---
quote.h | 3 ++-
2 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/quote.c b/quote.c
index d129c1de70..baec34ca94 100644
--- a/quote.c
+++ b/quote.c
@@ -370,10 +370,18 @@ char *quote_path(const char *in, const char *prefix, struct strbuf *out, unsigne
{
struct strbuf sb = STRBUF_INIT;
const char *rel = relative_path(in, prefix, &sb);
- int force_dq = ((flags & QUOTE_PATH_QUOTE_SP) && strchr(rel, ' '));
+ unsigned cquote_flags = 0;
+ int force_dq = 0;
strbuf_reset(out);
+ if ((flags & QUOTE_PATH_QUOTE_SP) && strchr(rel, ' ')) {
+ force_dq = 1;
+ cquote_flags &= CQUOTE_NODQ;
+ }
+ if (flags & QUOTE_PATH_IGNORE_CONFIG)
+ cquote_flags &= CQUOTE_IGNORE_CONFIG;
+
/*
* If the caller wants us to enclose the output in a dq-pair
* whether quote_c_style_counted() needs to, we do it ourselves
@@ -381,8 +389,7 @@ char *quote_path(const char *in, const char *prefix, struct strbuf *out, unsigne
*/
if (force_dq)
strbuf_addch(out, '"');
- quote_c_style_counted(rel, strlen(rel), out, NULL,
- force_dq ? CQUOTE_NODQ : 0);
+ quote_c_style_counted(rel, strlen(rel), out, NULL, cquote_flags);
if (force_dq)
strbuf_addch(out, '"');
strbuf_release(&sb);
diff --git a/quote.h b/quote.h
index 2a793fbef6..84903951ef 100644
--- a/quote.h
+++ b/quote.h
@@ -94,7 +94,8 @@ void write_name_quoted_relative(const char *name, const char *prefix,
/* quote path as relative to the given prefix */
char *quote_path(const char *in, const char *prefix, struct strbuf *out, unsigned flags);
-#define QUOTE_PATH_QUOTE_SP 01
+#define QUOTE_PATH_QUOTE_SP (1u << 0)
+#define QUOTE_PATH_IGNORE_CONFIG (1u << 1)
/* quoting as a string literal for other languages */
void perl_quote_buf(struct strbuf *sb, const char *src);
--
2.48.1.157.g3b0d05c4a7
next prev parent reply other threads:[~2025-02-01 20:20 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-08 3:40 [PATCH] rev-list: print missing object type with --missing=print-type Justin Tobler
2025-01-08 10:08 ` Christian Couder
2025-01-08 22:28 ` Justin Tobler
2025-01-08 15:17 ` Junio C Hamano
2025-01-08 22:18 ` Justin Tobler
2025-01-08 22:43 ` Junio C Hamano
2025-01-08 23:13 ` Justin Tobler
2025-01-10 5:34 ` [PATCH v2 0/2] rev-list: print additional missing object information Justin Tobler
2025-02-01 20:16 ` [PATCH v3 0/4] " Justin Tobler
2025-02-01 20:16 ` [PATCH v3 1/4] quote: add c quote flag to ignore core.quotePath Justin Tobler
2025-02-03 9:51 ` Christian Couder
2025-02-03 22:14 ` Junio C Hamano
2025-02-03 22:33 ` Junio C Hamano
2025-02-04 16:40 ` Junio C Hamano
2025-02-04 22:50 ` Justin Tobler
2025-02-01 20:16 ` Justin Tobler [this message]
2025-02-02 10:52 ` [PATCH v3 2/4] quote: add quote_path() flag to ignore config Phillip Wood
2025-02-04 22:39 ` Justin Tobler
2025-02-11 16:51 ` Phillip Wood
2025-02-03 10:07 ` Christian Couder
2025-02-03 22:52 ` Junio C Hamano
2025-02-01 20:16 ` [PATCH v3 3/4] rev-list: add print-info action to print missing object path Justin Tobler
2025-02-01 20:16 ` [PATCH v3 4/4] rev-list: extend print-info to print missing object type Justin Tobler
2025-02-03 10:45 ` [PATCH v3 0/4] rev-list: print additional missing object information Christian Couder
2025-02-04 22:51 ` Justin Tobler
2025-02-05 0:41 ` [PATCH v4 0/2] " Justin Tobler
2025-02-05 0:41 ` [PATCH v4 1/2] rev-list: add print-info action to print missing object path Justin Tobler
2025-02-05 0:41 ` [PATCH v4 2/2] rev-list: extend print-info to print missing object type Justin Tobler
2025-02-05 10:35 ` [PATCH v4 0/2] rev-list: print additional missing object information Christian Couder
2025-02-05 17:18 ` Justin Tobler
2025-02-05 13:18 ` Junio C Hamano
2025-02-05 17:17 ` Justin Tobler
2025-02-05 18:29 ` Junio C Hamano
2025-01-10 5:34 ` [PATCH v2 1/2] rev-list: add --missing-info to print missing object path Justin Tobler
2025-01-10 8:47 ` Christian Couder
2025-01-10 15:22 ` Junio C Hamano
2025-01-10 5:34 ` [PATCH v2 2/2] rev-list: extend --missing-info to print missing object type Justin Tobler
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=20250201201658.11562-3-jltobler@gmail.com \
--to=jltobler@gmail.com \
--cc=christian.couder@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 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.