Subject: Re: [PATCHv3 0/5]rev-list and friends: --min-parents, --max-parents

From: Michael J Gruber <[email-masked]>
Date: Thu, 24 Mar 2011 09:55:46 +0100

Jonathan Nieder venit, vidit, dixit 24.03.2011 09:21:
> Michael J Gruber wrote:
> 
>> Compared to what is currently in pu (which is v2+eps), v3 has:
> 
> Thanks.  I reviewed this by looking at what Junio queued in pu; it

OK, no more !fixup and !squash next time ;)

> looks very good.  With the following patch, it passes tests.

Uhm, it does so even without (for me) for bash and ksh, as you point out
below. What's the simplest way to run the tests so that they catch
non-POSIXisms?

> The use of "return" was surprising.  It seems this style has been
> intended to work ever since v0.99.5~24^2~4 (Trapping exit in tests,
> using return for errors, 2005-08-10).

I learned that from other tests and considered it safe therefore.

> It interacts poorly with test_when_finished but since these tests do
> not use that function, they should be safe.  test_when_finished could
> use some fixes to avoid future surprises but that's another story.
> 
> -- 8< --
> Subject: tests: avoid nonportable {foo,bar} glob
> 
> Unlike bash and ksh, dash and busybox ash do not support brace
> expansion (as in 'echo {hello,world}').  So when dash is sh,
> t6009.13 (set up dodecapus) ends up pass a string beginning with
> "root{1,2," to "git merge" verbatim and the test fails.

Thanks, I was afraid of a problem like that but then forgot about it.

> Fix it by introducing a variable to hold the list of parents for
> the dodecapus and populating it in a more low-tech way.
> 
> While at it, simplify a little by combining this setup code with the
> test it sets up for.

I thought it's considered bad style to mix setup and actual test?
Personally, I don't care either way. I just didn't want to have these 12
extra commits in the initial setup (forcing me to adjust all tests).

Michael