Jonathan Tan wrote: > I think it's less error-prone if we always have a "git" command on its > own on a line, to avoid losing its error code. When piped into another > invocation, or when command-substituted into an argument (e.g. "echo > $(git hash-object foo)"), we lose its error code. Sure, but assignment is a special case: if myvar=$(false) then echo yes else echo no fi prints "no". See "Don't use command substitution in a way that discards git's exit code" in t/README for more details. Thanks, Jonathan