t7406: fix breakage on OSX
authorStefan Beller <sbeller@google.com>
Wed, 10 Aug 2016 17:56:07 +0000 (10:56 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 10 Aug 2016 18:27:22 +0000 (11:27 -0700)
On OSX `wc` prefixes the output of numbers with whitespace, such
that the `commit_count` would be "SP <NUMBER>". When using that in

git submodule update --init --depth=$commit_count

the depth would be empty and the number is interpreted as the
pathspec. Fix this by not using `wc` and rather instruct rev-list
to count.

Another way to fix this is to remove the `=` sign after the
`--depth` argument as then we are allowed to have more than just one
whitespace between `--depth` and the actual number. Prefer the
solution of rev-list counting as that is expected to be slightly
faster and more self-contained within Git.

Reported-by: Lars Schneider <larsxschneider@gmail.com>
Helped-by: Junio C Hamano <gitster@pobox.com>,
Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t7406-submodule-update.sh
index d7983cf09fc3fe407378745a3bb44281542d7ef4..64f322c4cc87493ebc060ae5837495563fe61958 100755 (executable)
@@ -877,7 +877,7 @@ test_expect_success 'submodule update clone shallow submodule' '
        test_when_finished "rm -rf super3" &&
        first=$(git -C cloned submodule status submodule |cut -c2-41) &&
        second=$(git -C submodule rev-parse HEAD) &&
-       commit_count=$(git -C submodule rev-list $first^..$second | wc -l) &&
+       commit_count=$(git -C submodule rev-list --count $first^..$second) &&
        git clone cloned super3 &&
        pwd=$(pwd) &&
        (