]> git.ipfire.org Git - thirdparty/git.git/commit
format-patch: make output filename configurable
authorJunio C Hamano <gitster@pobox.com>
Fri, 6 Nov 2020 21:56:24 +0000 (13:56 -0800)
committerJunio C Hamano <gitster@pobox.com>
Tue, 10 Nov 2020 01:44:41 +0000 (17:44 -0800)
commit3baf58bfb4bcfe201970abeffa8e1396d2324250
tree2ea7148e16c6689322c0ec404e16d21a136d2439
parent898f80736c75878acc02dc55672317fcc0e0a5a6
format-patch: make output filename configurable

For the past 15 years, we've used the hardcoded 64 as the length
limit of the filename of the output from the "git format-patch"
command.  Since the value is shorter than the 80-column terminal, it
could grow without line wrapping a bit.  At the same time, since the
value is longer than half of the 80-column terminal, we could fit
two or more of them in "ls" output on such a terminal if we allowed
to lower it.

Introduce a new command line option --filename-max-length=<n> and a
new configuration variable format.filenameMaxLength to override the
hardcoded default.

While we are at it, remove a check that the name of output directory
does not exceed PATH_MAX---this check is pointless in that by the
time control reaches the function, the caller would already have
done an equivalent of "mkdir -p", so if the system does not like an
overly long directory name, the control wouldn't have reached here,
and otherwise, we know that the system allowed the output directory
to exist.  In the worst case, we will get an error when we try to
open the output file and handle the error correctly anyway.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/config/format.txt
Documentation/git-format-patch.txt
builtin/log.c
log-tree.c
log-tree.h
revision.h
t/t4014-format-patch.sh