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>
This commit is contained in:
Stefan Beller 2016-08-10 10:56:07 -07:00 коммит произвёл Junio C Hamano
Родитель 4d7bc52b17
Коммит 967d7f898c
1 изменённых файлов: 1 добавлений и 1 удалений

Просмотреть файл

@ -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) &&
(