Re: [PATCH 3/4] t: rev-parse-parents: avoid yoda conditions
- From
SZEDER Gábor <szeder@ira.uka.de>
- Date
- Sep 3, 2013, 11:10 UTC
- Message-ID
- <20130903111006.GJ29840@goldbirke>
- In-Reply-To
- <CAMP44s112mwgs=8n0XCnTtPM2V-O5RYE2ns+fjCvgkxj+kEY8Q@mail.gmail.com>
On Tue, Sep 03, 2013 at 05:45:06AM -0500, Felipe Contreras wrote:
Show 29 quoted lines
> On Tue, Sep 3, 2013 at 3:03 AM, Jeff King <peff@peff.net> 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".
> > test_cmp expect actual > > }
Best, Gábor