From: Junio C Hamano Date: Thu, 04 Aug 2011 00:43:45 GMT Subject: Re: [PATCH v16 6/7] bisect: add tests for the --no-checkout option. Message-ID: <7voc066m66.fsf@alter.siamese.dyndns.org> In-Reply-To: <1312408626-8600-7-git-send-email-jon.seymour@gmail.com> Jon Seymour writes: > @@ -616,6 +628,14 @@ cat > expected.missing-tree.default < fatal: unable to read tree 39f7e61a724187ab767d2e08442d9b6b9dab587d > EOF > > +check_same() > +{ > + echo "Checking $1 is the same as $2" && > + git rev-parse "$1" > expected.same && > + git rev-parse "$2" > expected.actual && > + test_cmp expected.same expected.actual Please indent with tabs; I know some existing lines in this file needs fixing in a separate patch, but we do not have to make it worse. > +test_expect_success 'bisect: demonstrate identification of damage boundary' " > + git bisect reset && > + git checkout broken && > + git bisect start broken master --no-checkout && > + git bisect run sh -c ' > + GOOD=$(git for-each-ref "--format=%(objectname)" refs/bisect/good-*) && I have a suspicion that the dq around the format=%(...) here does not do what you seem to think; doesn't it just step outside of the dq context of the second parameter of the outermost test_expect_success? Wouldn't your shell see git for-each-ref --format=%(objectname) without dq and barf on () as a consequence?