threads / discuss / 46226

Using '--help' for aliases

Subject: Using '--help' for aliases

## tl;dr

5 messages between Jun 21, 2017 and Jun 24, 2017.

replies: 4people: 4as markdown or json

Kaartic Sivaraam· Jun 21, 2017, 18:41 UTC · lore
Hello all,

I am yet another user of 'git alias' (who wouldn't ?). It has become so natural to me to use the aliased version that at some point of time I tried the following,

> $ git co --help
> `git co' is aliased to `checkout'

That made me wonder. Git is able to inform the user that 'co' is aliased to 'checkout' but isn't it possible for it to take one step more to display help ? Just wondering if there were any reason for not doing it.

-- 
Regards,
Kaartic Sivaraam <kaarticsivaraam91196@gmail.com>
Jeff King· Jun 21, 2017, 18:55 UTC · re: Kaartic Sivaraam · lore

Re: Using '--help' for aliases

On Thu, Jun 22, 2017 at 12:11:29AM +0530, Kaartic Sivaraam wrote:
Show 11 quoted lines
> I am yet another user of 'git alias' (who wouldn't ?). It has become so
> natural to me to use the aliased version that at some point of time I
> tried the following,
> 
> > $ git co --help
> > `git co' is aliased to `checkout'
> 
> That made me wonder. Git is able to inform the user that 'co' is
> aliased to 'checkout' but isn't it possible for it to take one step
> more to display help ? Just wondering if there were any reason for not
> doing it.

It could do that. I think we even discussed it at one point, but I didn't dig up the thread. However, you have the problem that running "man checkout" is likely to clobber the mention of the alias. So the question is whether it is more important to tell the user that it's an alias (and which options the alias is using!), or to show them the referred command's manpage.

-Peff
Kaartic Sivaraam· Jun 21, 2017, 19:14 UTC · re: Jeff King · lore

Re: Using '--help' for aliases

On Wed, 2017-06-21 at 14:55 -0400, Jeff King wrote:
Show 7 quoted lines
> It could do that. I think we even discussed it at one point,
> but I
> didn't dig up the thread. However, you have the problem that running
> "man checkout" is likely to clobber the mention of the alias. So the
> question is whether it is more important to tell the user that it's
> an
> alias (and which options the alias is using!),

Now, that's something I didn't think of. Does seem to quite an issue as aliases accept argument this.

I seem to be getting the idea of '--help' just now. All these days, I was actually considering it to be another way of getting to the man page of a command. Have to play with it a little to see in what other ways '--help' could help me! In case there's anything that's so useful about it that I'm missing, let me know.

>  or to show them the
> referred command's manpage.
> 
> -Peff
-- 
Regards,
Kaartic Sivaraam <kaarticsivaraam91196@gmail.com>
brian m. carlson· Jun 24, 2017, 17:20 UTC · re: Kaartic Sivaraam · lore

Re: Using '--help' for aliases

On Thu, Jun 22, 2017 at 12:11:29AM +0530, Kaartic Sivaraam wrote:
Show 11 quoted lines
> I am yet another user of 'git alias' (who wouldn't ?). It has become so
> natural to me to use the aliased version that at some point of time I
> tried the following,
> 
> > $ git co --help
> > `git co' is aliased to `checkout'
> 
> That made me wonder. Git is able to inform the user that 'co' is
> aliased to 'checkout' but isn't it possible for it to take one step
> more to display help ? Just wondering if there were any reason for not
> doing it.

It's possible to do if "co" is an alias for "checkout", but it works less well when co is the following[0]:

	co = "!f() { if git checkout -h | grep -qs recurse-submodules; \
		then git checkout --recurse-submodules \"$@\"; \
		else git checkout \"$@\" && git sui; \
		fi; };f"

If this alias were to run on a Git with that option but without checkout --recurse-submodules, then it would print help and then update submodles, which isn't what I want.

[0] sui is an alias for submodule update --init.
-- 
brian m. carlson / brian with sandals: Houston, Texas, US
https://www.crustytoothpaste.net/~bmc | My opinion only
OpenPGP: https://keybase.io/bk2204

← back to recent threads