threads / discuss / 15172

docs and completion and dashless commands

Subject: docs and completion and dashless commands

## tl;dr

2 messages between Aug 22, 2008 and Aug 22, 2008.

replies: 1people: 2as markdown or json

dherring@ll.mit.edu· Aug 22, 2008, 20:26 UTC · lore
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· Aug 22, 2008, 21:34 UTC · re: dherring@ll.mit.edu · lore

Re: docs and completion and dashless commands

dherring@ll.mit.edu writes:
Show 5 quoted lines
> 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).

← back to recent threads