Re: [PATCH] git: add -N as a short option for --no-pager
- From
Johannes Sixt <j6t@kdbg.org>
- Date
- Apr 25, 2018, 06:25 UTC
- Message-ID
- <08882cea-5dab-3cc7-33ac-cf938253a34a@kdbg.org>
- In-Reply-To
- <xmqqh8o05evv.fsf@gitster-ct.c.googlers.com>
Am 25.04.2018 um 02:05 schrieb Junio C Hamano:
Show 22 quoted lines
> Johannes Sixt <j6t@kdbg.org> writes: >> It is not uncommon to request that the output remains visible in >> the terminal. For this, the option --no-pager can be used. But >> it is a bit cumbersome to type, even when command completion is >> available. Provide a short option, -N, to make the option easier >> accessible. >> >> Signed-off-by: Johannes Sixt <j6t@kdbg.org> >> --- > > Heh, I used to append "|cat", which is four keystrokes that is a bit > shorter than " --no-pager", but that is only acceptable when you do > not care about colored output ;-) > > I am not absolutely certain about the choice of a single letter. I > already checked we do not use "git -N cmd" for anything else right > now, so I am certain about the availability, but I am not sure if > capital 'N' is the best choice, when the other side is lowercase 'p' > (and more importantly, the other side 'p' has mneomonic value for > 'pagination', but 'N' merely stands for 'no' and could be negating > anything, not related to pagination). But I agree that a short-hand > would be welcome.
I considered -P, but thought that it would better be reserved for something related to "paths". We have --{html,man,info}-path, which would be served better with -[HMI]. That leaves --exec-path, which we would probably abbreviate as -x or -X. So, -P is perhaps not that bad after all.
We could also choose +p, for which there is some precedent in other POSIX tools to mean negated -p, but not in git, I think. Implementationwise, it is not that trivial, either, because the section handling options is guarded by a check that the word begins with a dash.
Perhaps --no-pager means also "unpaginated" (-u, -U), "linear" (-l, -L), "streamed" (-s, -S). Other ideas, anyone?
Show 14 quoted lines
> >> diff --git a/Documentation/git.txt b/Documentation/git.txt >> index 4767860e72..17b50b0dc6 100644 >> --- a/Documentation/git.txt >> +++ b/Documentation/git.txt >> @@ -11,7 +11,7 @@ SYNOPSIS >> [verse] >> 'git' [--version] [--help] [-C <path>] [-c <name>=<value>] >> [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path] >> - [-p|--paginate|--no-pager] [--no-replace-objects] [--bare] >> + [-p|--paginate|-N|--no-pager] [--no-replace-objects] [--bare] >> [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>] >> [--super-prefix=<path>] >> <command> [<args>]