{"thread":{"id":"15172","subject":"docs and completion and dashless commands","startedAt":"2008-08-22T20:26:32Z","lastAt":"2008-08-22T21:34:05Z","messageCount":2,"participants":["dherring@ll.mit.edu","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"88194","messageId":"alpine.LNX.0.999999.0808221550100.11892@mojave","threadId":"15172","inReplyTo":null,"subject":"docs and completion and dashless commands","fromName":"","fromEmail":"dherring@ll.mit.edu","sentAt":"2008-08-22T20:26:32Z","receivedAt":"2008-08-22T20:26:32Z","isPatch":false,"sender":{"key":"dherring@ll.mit.edu","avatar":null},"body":"First off, I'm not too keen on these dashless commands.\n- We now have `man git-X` but can't run `git-X`\n- A separate completion script must be installed for bash\n- Lose completion for all other shells\n- History expansion is complicated (e.g. `!git-push` vs `!git push`)\n\nI tracked down \"Invoke git-repo-config directly\" (March 06) and related \nthreads; so I somewhat understand the logic.  However the notions that \nmoving bin/git-X to libexec/git-core/git-X somehow hides complexity for \nthe user or fixes problems with PATH seem misguided.  Maybe there were \nsome other reasons I missed?\n\nAnyway, could someone modify INSTALL to mention \ncontrib/completion/git-completion.bash and putting `git --exec-path` in \nPATH for other shells?  A man page about configuring shells for git would \nalso be nice.  These docs might also instruct users to call git-config and \nset their global username and email.\n\nAlso, with the dashless commands, it may be more appropriate to distribute \na texinfo tree than flat manpages.\n\nThanks,\nDaniel\n"},{"id":"88208","messageId":"7vr68g7n02.fsf@gitster.siamese.dyndns.org","threadId":"15172","inReplyTo":"alpine.LNX.0.999999.0808221550100.11892@mojave","subject":"Re: docs and completion and dashless commands","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-08-22T21:34:05Z","receivedAt":"2008-08-22T21:34:05Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"dherring@ll.mit.edu writes:\n\n> First off, I'm not too keen on these dashless commands.\n> - We now have `man git-X` but can't run `git-X`\n> - A separate completion script must be installed for bash\n> - Lose completion for all other shells\n> - History expansion is complicated (e.g. `!git-push` vs `!git push`)\n\nPlease stop and leave the dead horse lie in piece.  You are more than a\nyear too late.\n\n> Anyway, could someone modify INSTALL to mention\n> contrib/completion/git-completion.bash and putting `git --exec-path`\n> in PATH for other shells?\n\nAnd please nobody waste time on the latter.  \"git-foo\" form for builtins\nwill be removed from the filesystem eventually and at that point:\n\n\t#!/bin/sh\n\n\tPATH=$(git --exec-path):$PATH\n        .. do its thing ..\n        git-commit -a -m 'funny wrapper created commit'\n\nwill _stop_ working.  If somebody is starting a new script there is no\npoint using the form only to later update to the dashless form.\n\n> These docs might also instruct users to call\n> git-config and set their global username and email.\n\nPlease read the first few paragraphs of gittutorial(7).\n"}]}