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

Re: git silently ignores aliases of existing commands

From
A Large Angry SCM <gitzilla@gmail.com>
Date
Jul 18, 2009, 16:12 UTC
Message-ID
<4A61F466.3080105@gmail.com>
In-Reply-To
<9b18b3110907180420n67ec7fa1q4a0df2047f37435e@mail.gmail.com>
demerphq wrote:
Show 33 quoted lines
> 2009/7/18 Jeff King <peff@peff.net>:
>> On Sat, Jul 18, 2009 at 12:55:26PM +0200, demerphq wrote:
>>
>>>> The silentness makes it harder to diagnose problems, but even with a
>>>> warning, we can break things by creating new commands. If you have an
>>>> alias "foo" and we ship "git-foo" in a newer version of git, your alias
>>>> will just stop working.
>>> That was my point. At least if there were warnings about this the risk
>>> would be mitigated.
>> I don't see how it's mitigated. You don't get any warning until _after_
>> things are broken. So yes, it may help you diagnose the breakage, but
>> presumably the fact that the command is doing something completely
>> different would also alert you to the breakage.
>>
>> The real problem comes from scripted use, where you don't necessarily
>> have a user reading warnings on stderr, or notice that some totally
>> bogus code is being run (especially if said code happens not to produce
>> a non-zero exit code).
>>
>> But perhaps that's what you meant, and I'm just nitpicking your
>> language.
> 
> I think we are more or less in agreement, except maybe that i think
> the situation would be marginally better if git detected this.
> 
> :-)
> 
> Seems an awkward position actually. Maybe a switch like
> --ignore-command-aliases which would be used by all internal commands
> when they expect to find another internal command would resolve it.
> Then aliases of internal commands to control default switches could
> actually be allowed to work, and there would not be the future
> compatibility trap that there seems to be now.
The real solution is to (re)move the aliases from the git name-space.
Previous: demerphq
Message 9 of 9 in “git silently ignores aliases of existing commands”
  1. Michael G SchwernJul 18, 2009
  2. Sean EstabrooksJul 18, 2009
  3. Michael G SchwernJul 18, 2009
  4. demerphqJul 18, 2009
  5. Jeff KingJul 18, 2009
  6. demerphqJul 18, 2009
  7. Jeff KingJul 18, 2009
  8. demerphqJul 18, 2009
  9. A Large Angry SCMJul 18, 2009

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.