From: Junio C Hamano <gitster@pobox.com>
To: Ayush Chandekar <ayu.chandekar@gmail.com>
Cc: christian.couder@gmail.com, git@vger.kernel.org,
phillip.wood123@gmail.com, shyamthakkar001@gmail.com,
kristofferhaugsbakk@fastmail.com
Subject: Re: [GSOC PATCH 2/2] config: set comment_line_str to "#" when core.commentChar=auto
Date: Tue, 15 Jul 2025 14:23:45 -0700 [thread overview]
Message-ID: <xmqq1pqhgnby.fsf@gitster.g> (raw)
In-Reply-To: <2a3c2d323bdb520a37a099b361be9ec5f2d5d46f.1752602474.git.ayu.chandekar@gmail.com> (Ayush Chandekar's message of "Wed, 16 Jul 2025 00:21:26 +0530")
Ayush Chandekar <ayu.chandekar@gmail.com> writes:
> If conflict comments already use a comment character that isn't "#", and
> core.commentChar is set "auto", Git will ignore these lines during the
> scan using ignored_log_message_bytes() and pick a new comment character
> based on the rest of the message. The newly chosen character may be
> different from the one used in the conflict comments and therefore,
> these are no longer treated as comments and end up in the final commit
> message.
>
> For example, during a rebase if the user previously set
> core.commentChar=% and then encounters a conflict, conflict comments
> like "% Conflicts:" are generated. If the user subsequently sets
> core.commentChar=auto before running `rebase --continue`, Git parses the
> "auto" setting and begins scanning. It first uses the existing
> 'comment_line_str' (which is '%') to detect and ignore conflict comments
> via ignored_log_message_bytes().
>
> Then, Git scans the rest of the message (excluding conflict comments),
> sees that none of the remaining lines start with '#' and decides to set
> comment_line_str to '#'. Since the final commit character differs from
> the one used in the conflict comments, those lines are no longer
> considered comments and get included in the final commit message.
>
> Set 'comment_line_str' to '#' when core.commentChar is set to 'auto' to
> reset any previously set value.
>
> While this does not solve the issue of conflict comment inclusion and
> the user visible behaviour stays tha same, it standardizes the behaviour
> of the code by always resetting 'comment_line_str' to '#' when
> core.commentChar=auto is parsed.
>
> Mentored-by: Christian Couder <christian.couder@gmail.com>
> Mentored-by: Ghanshyam Thakkar <shyamthakkar001@gmail.com>
> Signed-off-by: Ayush Chandekar <ayu.chandekar@gmail.com>
> ---
> config.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
>
> diff --git a/config.c b/config.c
> index eb60c293ab..bb75bdc65d 100644
> --- a/config.c
> +++ b/config.c
> @@ -1537,9 +1537,11 @@ static int git_default_core_config(const char *var, const char *value,
> !strcmp(var, "core.commentstring")) {
> if (!value)
> return config_error_nonbool(var);
> - else if (!strcasecmp(value, "auto"))
> + else if (!strcasecmp(value, "auto")) {
> auto_comment_line_char = 1;
> - else if (value[0]) {
> + FREE_AND_NULL(comment_line_str_to_free);
> + comment_line_str = "#";
> + } else if (value[0]) {
> if (strchr(value, '\n'))
> return error(_("%s cannot contain newline"), var);
> comment_line_str = value;
This patch is exactly what Phillip suggested in
https://lore.kernel.org/git/9e96aaab-79a2-4632-94cd-d016d4a63b30@gmail.com/
isn't it? Makes sense to me.
next prev parent reply other threads:[~2025-07-15 21:23 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-26 13:22 [GSOC PATCH] commit: avoid scanning trailing comments when 'core.commentChar' is "auto" Ayush Chandekar
2025-06-26 14:33 ` Junio C Hamano
2025-06-26 21:30 ` Ayush Chandekar
2025-06-26 15:40 ` Kristoffer Haugsbakk
2025-06-26 21:28 ` Ayush Chandekar
2025-06-26 22:16 ` [GSOC PATCH v2] " Ayush Chandekar
2025-06-27 8:34 ` Phillip Wood
2025-06-27 14:52 ` Junio C Hamano
2025-06-28 10:37 ` Ayush Chandekar
2025-06-28 13:38 ` Phillip Wood
2025-06-28 14:33 ` Ayush Chandekar
2025-06-30 8:59 ` Phillip Wood
2025-06-30 17:34 ` Ayush Chandekar
2025-06-28 15:10 ` Phillip Wood
2025-06-30 14:11 ` Junio C Hamano
2025-06-28 10:18 ` Ayush Chandekar
2025-06-27 9:04 ` Christian Couder
2025-06-30 18:25 ` [GSOC PATCH v3] " Ayush Chandekar
2025-07-01 13:17 ` Phillip Wood
2025-07-01 18:33 ` Ayush Chandekar
2025-07-01 19:31 ` Phillip Wood
2025-07-02 23:46 ` Ayush Chandekar
2025-07-04 8:23 ` Phillip Wood
2025-07-08 15:47 ` Ayush Chandekar
2025-07-09 14:17 ` Phillip Wood
2025-07-15 18:51 ` [GSOC PATCH 0/2] commit: improve behaviour of core.commentChar=auto for comments in commit messages Ayush Chandekar
2025-07-15 18:56 ` [GSOC PATCH v4 " Ayush Chandekar
2025-07-15 18:51 ` [GSOC PATCH 1/2] commit: avoid scanning trailing comments when 'core.commentChar' is "auto" Ayush Chandekar
2025-07-15 18:57 ` [GSOC PATCH v4 " Ayush Chandekar
2025-07-15 18:51 ` [GSOC PATCH 2/2] config: set comment_line_str to "#" when core.commentChar=auto Ayush Chandekar
2025-07-15 18:57 ` [GSOC PATCH v4 " Ayush Chandekar
2025-07-15 21:23 ` Junio C Hamano [this message]
2025-07-15 22:15 ` [GSOC PATCH " Ayush Chandekar
2025-07-15 23:30 ` Junio C Hamano
2025-07-16 11:04 ` Ayush Chandekar
2025-07-16 15:21 ` Junio C Hamano
2025-07-16 15:24 ` Phillip Wood
2025-07-16 15:29 ` Junio C Hamano
2025-07-16 11:43 ` [GSOC PATCH v5 0/2] commit: improve behaviour of core.commentChar=auto for comments in commit messages Ayush Chandekar
2025-07-16 11:43 ` [GSOC PATCH v5 1/2] commit: avoid scanning trailing comments when 'core.commentChar' is "auto" Ayush Chandekar
2025-07-16 11:43 ` [GSOC PATCH v5 2/2] config: set comment_line_str to "#" when core.commentChar=auto Ayush Chandekar
2025-07-16 15:28 ` Junio C Hamano
2025-07-16 14:28 ` [GSOC PATCH v5 0/2] commit: improve behaviour of core.commentChar=auto for comments in commit messages Phillip Wood
2025-07-16 15:29 ` 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=xmqq1pqhgnby.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=ayu.chandekar@gmail.com \
--cc=christian.couder@gmail.com \
--cc=git@vger.kernel.org \
--cc=kristofferhaugsbakk@fastmail.com \
--cc=phillip.wood123@gmail.com \
--cc=shyamthakkar001@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.