On Sun, Aug 9, 2020 at 3:12 PM Junio C Hamano <gitster@xxxxxxxxx> wrote: > The motivation makes quite a lot of sense. > > I suspect that it is a bug to use "-", i.e. "read from the standard > input", for "$2", because > > (1) if it is used for the expected output, we got the comparison in > the wrong direction; I had the same concern that it didn't necessarily make sense to allow "-" for $2, but eventually thought of a case such as: sed '...' actual | test_cmp expect - && which massages 'actual' before test_cmp() sees it. True, we don't actually have such callers, but it theoretically is legitimate. > (2) if it is used for the actual output, we have a command whose > output we are interested in on the upstream side of a pipe to > discard its exit status. If the command upstream is a Git command, that could indeed be a reason for concern, but, as illustrated above, it could just be a system command.