Re: [PATCH 2/2] config/alias.txt: document alias accepting non-command first word
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Jun 5, 2019, 12:37 UTC
- Message-ID
- <nycvar.QRO.7.76.6.1906051434500.1775@tvgsbejvaqbjf.bet>
- In-Reply-To
- <13d9ddd3541e3815078c4853c6f7c25cddd89126.1559333840.git.liu.denton@gmail.com>
Hi Denton,
On Fri, 31 May 2019, Denton Liu wrote:
Show 7 quoted lines
> One can see that an alias that begins with a non-command first word, > such as `loud-rebase = -c commit.verbose=true rebase`, is permitted. > However, this isn't immediately obvious to users as alias instances > typically begin with a command. > > Document the fact that an alias can begin with a non-command first word > so that users will be able to discover that this is a feature.
You caught me.
Granted, back in 2006, when I introduced that feature, we were not *quite* as diligent about documenting new features as we are today (see 4ab243a944a6 (Allow an alias to start with "-p", 2006-07-24)).
I like your patch! Maybe you would like to mention `-p`, too, as a possible use case, as that was the original reason I introduced the feature? (To this day, the first thing I do on a new machine *right* after installing Git is to call `git config --global alias.ps '-p status'`)
I'd be fine with these two patches as-are, of course.
Thank you! Dscho
Show 29 quoted lines
> > Signed-off-by: Denton Liu <liu.denton@gmail.com> > --- > Documentation/config/alias.txt | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/Documentation/config/alias.txt b/Documentation/config/alias.txt > index 5425449a50..f241f03ebe 100644 > --- a/Documentation/config/alias.txt > +++ b/Documentation/config/alias.txt > @@ -7,6 +7,14 @@ alias.*:: > spaces, the usual shell quoting and escaping is supported. > A quote pair or a backslash can be used to quote them. > + > +Note that the first word of an alias does not necessarily have to be a > +command. It can be a command-line option that will be passed into the > +invocation of `git`. In particular, this is useful when used with `-c` > +to pass in one-time configurations. For example, > +`loud-rebase = -c commit.verbose=true rebase` can be defined such that > +running `git loud-merge` would be equivalent to > +`git -c commit.verbose=true rebase`. > ++ > If the alias expansion is prefixed with an exclamation point, > it will be treated as a shell command. For example, defining > `alias.new = !gitk --all --not ORIG_HEAD`, the invocation > -- > 2.22.0.rc1.169.g49223abbf8 > >