From 9b5a9fa60a444058c07c6f8df08fd779aaebfaae Mon Sep 17 00:00:00 2001 From: Denton Liu Date: Wed, 27 Nov 2019 11:53:11 -0800 Subject: t0090: stop losing return codes of git commands In generate_expected_cache_tree_rec(), there are currently two instances of `git ls-files` in the upstream of a pipe. In the case where the upstream git command fails, its return code will be lost. Extract the `git ls-files` into its own call so that if it ever fails, its return code is not lost. Signed-off-by: Denton Liu Signed-off-by: Junio C Hamano diff --git a/t/t0090-cache-tree.sh b/t/t0090-cache-tree.sh index ce9a4a5..5a63369 100755 --- a/t/t0090-cache-tree.sh +++ b/t/t0090-cache-tree.sh @@ -21,9 +21,10 @@ generate_expected_cache_tree_rec () { parent="$2" && # ls-files might have foo/bar, foo/bar/baz, and foo/bar/quux # We want to count only foo because it's the only direct child - subtrees=$(git ls-files|grep /|cut -d / -f 1|uniq) && + git ls-files >files && + subtrees=$(grep / files|cut -d / -f 1|uniq) && subtree_count=$(echo "$subtrees"|awk -v c=0 '$1 != "" {++c} END {print c}') && - entries=$(git ls-files|wc -l) && + entries=$(wc -l