Files
git/Documentation
Junio C Hamano 31399a6b61 config: allow tweaking whitespace between value and comment
Extending the previous step, this allows the whitespace placed after
the value before the "# comment message" to be tweaked by tweaking
the preprocessing rule to:

 * If the given comment string begins with one or more whitespace
   characters followed by '#', it is passed intact.

 * If the given comment string begins with '#', a Space is
   prepended.

 * Otherwise, " # " (Space, '#', Space) is prefixed.

 * A string with LF in it cannot be used as a comment string.

Unlike the previous step, which unconditionally added a space after
the value before writing the "# comment string", because the above
preprocessing already gives a whitespace before the '#', the
resulting string is written immediately after copying the value.

And the sanity checking rule becomes

 * comment string after the above massaging that comes into
   git_config_set_multivar_in_file_gently() must

   - begin with zero or more whitespace characters followed by '#'.
   - not have a LF in it.

I personally think this is over-engineered, but since I thought
things through anyway, here it is in the patch form.  The logic to
tweak end-user supplied comment string is encapsulated in a new
helper function, git_config_prepare_comment_string(), so if new
front-end callers would want to use the same massaging rules, it is
easily reused.

Unfortunately I do not think of a way to tweak the preprocessing
rules further to optionally allow having no blank after the value,
i.e. to produce

	[section]
		variable = value#comment

(which is a valid way to say section.variable=value, by the way)
without sacrificing the ergonomics for the more usual case, so this
time I really stop here.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-03-15 16:07:39 -07:00
..
2024-03-14 14:05:25 -07:00
2024-02-27 16:04:31 -08:00
2023-11-26 10:07:05 +09:00
2023-06-12 13:52:51 -07:00
2023-10-09 12:06:24 -07:00
2023-10-09 12:06:29 -07:00
2023-11-26 10:07:05 +09:00
2023-12-26 11:06:55 -08:00
2024-02-21 10:02:55 -08:00
2023-10-09 12:06:29 -07:00
2023-06-12 13:52:51 -07:00
2023-06-12 13:52:51 -07:00
2024-01-02 13:51:30 -08:00
2023-10-09 12:06:24 -07:00
2024-03-07 15:59:40 -08:00
2023-12-14 14:38:07 -08:00
2023-12-26 11:06:55 -08:00
2023-08-28 09:16:06 -07:00
2023-11-26 10:07:05 +09:00
2023-12-26 11:06:55 -08:00