Hi Johannes,

On Mon, 16 Jul 2018 at 18:59:03 +0300, Johannes Schindelin wrote:
Hi Aaron,

On Mon, 16 Jul 2018, Aaron Schrab wrote:

Looking into that a bit further, it does seem like my explanation above
was incorrect.  Here's another attempt to explain why setting
core.commentChar=auto isn't a problem for this change.

8< -----

Use the configured comment character when generating comments about
branches in a todo list.  Failure to honor this configuration causes a
failure to parse the resulting todo list.

Setting core.commentChar to "auto" will not be honored here, and the
previously configured or default value will be used instead. But, since
the todo list will consist of only generated content, there should not
be any non-comment lines beginning with that character.

How about this instead?

        If core.commentChar is set to "auto", the intention is to
        determine the comment line character from whatever content is there
        already.

        As the code path in question is the one *generating* the todo list
        from scratch, it will automatically use whatever core.commentChar
        has been configured before the "auto" (and fall back to "#" if none
        has been configured explicitly), which is consistent with users'
        expectations.

Honestly, the above still doesn't read clearly to me. I've take a stab at it myself - let me know what you think:

    If core.commentChar is set to "auto", the comment_line_char global
    variable will be initialized to '#'.  The only time
    comment_line_char gets changed to an automatic value is when the
    prepare_to_commit() function (in commit.c) calls
    adjust_comment_line_char().  This does not happen when generating
    the todo list, so '#' will be used as the comment character in the
    todo list if core.commentChar is set to "auto".

Cheers,

Daniel Harding

Reply via email to