git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Redirect "git" subcommand to itself?

From
KKKonstantin Khomoutov <kostix+git@007spb.ru>
Date
May 28, 2015, 10:36 UTC
Message-ID
<20150528133625.bfececc222a4820e9fb27aaa@domain007.com>
In-Reply-To
<CAGZ79kZHa9wUrRsWfHgGdSdx+cN9VAirAAfu3YLVTuSmggcehg@mail.gmail.com>

On Wed, 27 May 2015 17:28:34 -0700 Stefan Beller <sbeller@google.com> wrote:

> so I just run into this problem again (which happens to me maybe
> twice a week): I want to do a git operations, so I type "git " into
> my shell,
[...]
Show 5 quoted lines
> then I copy the whole operation "git revert --abort" in this case and
> paste it to the shell and let go.
> The result looks like
>     $ git git revert --abort
>     git: 'git' is not a git command. See 'git --help'.
[...]
> I wonder if we want to make a "git" subcommand, which behaves exactly
> the same as git itself?
> Then "git git git status" would just return the same as "git status".
In your ~/.whateverrc, put this:
git() {
  while [ $# -gt 0 ]; do
    test "$1" != "git" && break;
    shift;
  done;
  command git $@;
}

This assumes a POSIX-compatible shell but I think you've got the idea. ("command" is a builtin which forces interpreting the following word as the name of an external program.)

Previous: Junio C HamanoNext: Matthieu Moy
Message 10 of 11 in “Redirect "git" subcommand to itself?”
  1. Stefan BellerMay 28, 2015
  2. Junio C HamanoMay 28, 2015
  3. Jeff KingMay 28, 2015
  4. Christian NeukirchenMay 29, 2015
  5. Aaron SchrabMay 29, 2015
  6. Junio C HamanoMay 29, 2015
  7. Stefan BellerMay 29, 2015
  8. Christian NeukirchenMay 29, 2015
  9. Junio C HamanoMay 29, 2015
  10. Konstantin KhomoutovMay 28, 2015
  11. Matthieu MoyMay 28, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.