summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 6c1c144)
raw | patch | inline | side by side (parent: 6c1c144)
author | Jon Seymour <jon.seymour@gmail.com> | |
Sun, 24 Jul 2011 14:59:14 +0000 (00:59 +1000) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Mon, 25 Jul 2011 17:50:11 +0000 (10:50 -0700) |
In the case of a corrupt repository, git ls-tree may report an error but
presently it exits with a code of 0.
This change uses the return code of read_tree_recursive instead.
Improved-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Jon Seymour <jon.seymour@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
presently it exits with a code of 0.
This change uses the return code of read_tree_recursive instead.
Improved-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Jon Seymour <jon.seymour@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/ls-tree.c | patch | blob | history | |
t/t3103-ls-tree-misc.sh | patch | blob | history |
diff --git a/builtin/ls-tree.c b/builtin/ls-tree.c
index f08c5b0c942eec58b85ab41e5e5fb1ec216df683..6b666e1e87017f41d2f53c50b157f280b3a5f282 100644 (file)
--- a/builtin/ls-tree.c
+++ b/builtin/ls-tree.c
tree = parse_tree_indirect(sha1);
if (!tree)
die("not a tree object");
- read_tree_recursive(tree, "", 0, 0, &pathspec, show_tree, NULL);
-
- return 0;
+ return !!read_tree_recursive(tree, "", 0, 0, &pathspec, show_tree, NULL);
}
index c9c20f95e3f6264132c6d477851ff71bf18ad073..09dcf043fdff1495dc4e0d1e56b9118c4f5feaeb 100755 (executable)
--- a/t/t3103-ls-tree-misc.sh
+++ b/t/t3103-ls-tree-misc.sh
git commit -m test
'
-test_expect_failure 'ls-tree fails with non-zero exit code on broken tree' '
+test_expect_success 'ls-tree fails with non-zero exit code on broken tree' '
rm -f .git/objects/5f/cffbd6e4c5c5b8d81f5e9314b20e338e3ffff5 &&
test_must_fail git ls-tree -r HEAD
'