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 d7983cf..64f322c 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) &&
        (