# docs and completion and dashless commands

2 messages from 2008-08-22 to 2008-08-22. Participants: dherring@ll.mit.edu, Junio C Hamano.
Thread: https://gitlist.dev/t/15172

## dherring@ll.mit.edu, 2008-08-22 20:26

Subject: docs and completion and dashless commands
Message-ID: <alpine.LNX.0.999999.0808221550100.11892@mojave>
URL: https://gitlist.dev/e/alpine.LNX.0.999999.0808221550100.11892%40mojave

```
First off, I'm not too keen on these dashless commands.
- We now have `man git-X` but can't run `git-X`
- A separate completion script must be installed for bash
- Lose completion for all other shells
- History expansion is complicated (e.g. `!git-push` vs `!git push`)

I tracked down "Invoke git-repo-config directly" (March 06) and related 
threads; so I somewhat understand the logic.  However the notions that 
moving bin/git-X to libexec/git-core/git-X somehow hides complexity for 
the user or fixes problems with PATH seem misguided.  Maybe there were 
some other reasons I missed?

Anyway, could someone modify INSTALL to mention 
contrib/completion/git-completion.bash and putting `git --exec-path` in 
PATH for other shells?  A man page about configuring shells for git would 
also be nice.  These docs might also instruct users to call git-config and 
set their global username and email.

Also, with the dashless commands, it may be more appropriate to distribute 
a texinfo tree than flat manpages.

Thanks,
Daniel

```

## Junio C Hamano, 2008-08-22 21:34

Subject: Re: docs and completion and dashless commands
Message-ID: <7vr68g7n02.fsf@gitster.siamese.dyndns.org>
URL: https://gitlist.dev/e/7vr68g7n02.fsf%40gitster.siamese.dyndns.org
In-Reply-To: <alpine.LNX.0.999999.0808221550100.11892@mojave>

```
dherring@ll.mit.edu writes:

> First off, I'm not too keen on these dashless commands.
> - We now have `man git-X` but can't run `git-X`
> - A separate completion script must be installed for bash
> - Lose completion for all other shells
> - History expansion is complicated (e.g. `!git-push` vs `!git push`)

Please stop and leave the dead horse lie in piece.  You are more than a
year too late.

> Anyway, could someone modify INSTALL to mention
> contrib/completion/git-completion.bash and putting `git --exec-path`
> in PATH for other shells?

And please nobody waste time on the latter.  "git-foo" form for builtins
will be removed from the filesystem eventually and at that point:

	#!/bin/sh

	PATH=$(git --exec-path):$PATH
        .. do its thing ..
        git-commit -a -m 'funny wrapper created commit'

will _stop_ working.  If somebody is starting a new script there is no
point using the form only to later update to the dashless form.

> These docs might also instruct users to call
> git-config and set their global username and email.

Please read the first few paragraphs of gittutorial(7).

```
