On Tue, Sep 3, 2013 at 6:10 AM, SZEDER Gábor <szeder@xxxxxxxxxx> wrote: > On Tue, Sep 03, 2013 at 05:45:06AM -0500, Felipe Contreras wrote: >> On Tue, Sep 3, 2013 at 3:03 AM, Jeff King <peff@xxxxxxxx> wrote: >> > On Tue, Sep 03, 2013 at 09:51:07AM +0200, SZEDER Gábor wrote: >> > >> >> > I wonder if we should have a: >> >> > >> >> > test_cmp_args () { >> >> > echo "$1" >expect && >> >> > echo "$1" >actual && >> >> > test_cmp expect actual >> >> > } >> >> > >> >> > to let these remain one-liners like: >> >> > >> >> > test_cmp_args "$(git rev-parse start)" "$(git rev-parse final^1^1^1)" >> >> >> >> This idea come up before, but there is one flaw which makes this >> >> function less useful: a non-zero exit code of the commands in the >> >> command substitutions would be lost. >> > >> > Good point. You'd probably have to do something gross with eval, like: >> > >> > test_cmp_args () { >> > eval "$1" >expect && >> > eval "$2" >actual && >> >> I don't see any reason to perpetuate these yoda comparisons. >> >> eval "$2" >expect && >> eval "$1" >actual && > > I do. Your proposal requires the arguments in the reverse order > compared to test_cmp. That inconsistency would be far worse than > test_cmp_args "$expect" "$actual". There are two ways to fix an inconsistency, the other way is to fix test_cmp. But that would be a change, and change is not welcome in Git. For this reason alone I would prefer 'test "$actual" = expected', than the yodaish 'test_cmp_args "expected" "$actual"'. -- Felipe Contreras -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html