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-sustained
within Git.

Reported-by: Lars Schneider <larsxschnei...@gmail.com>
Helped-by: Junio C Hamano <gits...@pobox.com>,
Signed-off-by: Stefan Beller <sbel...@google.com>


 t/t7406-submodule-update.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/t/t7406-submodule-update.sh b/t/t7406-submodule-update.sh
index d7983cf..64f322c 100755
--- a/t/t7406-submodule-update.sh
+++ b/t/t7406-submodule-update.sh
@@ -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) &&

To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to