On Mon, 2025-08-18 at 18:01 -0700, Junio C Hamano wrote: > As a program, how would you tell when you are run by a script? > > If you are a shell, you go into "interactive" mode when you are > taking your command stream from a tty, and otherwise assume you are > not interactive. The same trick would not work at all for programs > started by a shell, would it? Not for all, but it might still give enough "teaching" to prevent people from using aliases in scripts. Checking whether the parent process is a well known shell would probably not help, as it would also be for the interactive case, where aliasing is wanted. > Asking script writers to pass "--no-alias" option to all of their > "git" invocation will probably not be a viable way forward, either. Again at least not a safe one. And doing the opposite, i.e. requring -- enable-aliasing (which people would then have to set as shell alias), would probably end up in generating quite a few annoyed people. ;-) It could be made optional. E.g. some gitconf option that per default enables aliasing always but allows to require a --aliasing option (which then again is intended to be set via a shell alias) in order for git aliasing to be enabled. Whether it's worth the effort is of course another question. Cheers, Chris.