* [PATCH 0/2] Ensure git ls-tree exits with a non-zero exit code if read_tree_recursive fails. @ 2011-07-23 12:27 Jon Seymour 2011-07-23 12:27 ` [PATCH 1/2] Add a test to check that git ls-tree sets non-zero exit code on error Jon Seymour 2011-07-23 12:27 ` [PATCH 2/2] Ensure git ls-tree exits with a non-zero exit code if read_tree_recursive fails Jon Seymour 0 siblings, 2 replies; 4+ messages in thread From: Jon Seymour @ 2011-07-23 12:27 UTC (permalink / raw) To: git; +Cc: Jon Seymour While working with a damaged repository, I noticed that git ls-tree was reporting an error even though it set a zero exit code. This patch uses the return code from read_tree_recursive instead. Jon Seymour (2): Add a test to check that git ls-tree sets non-zero exit code on error. Ensure git ls-tree exits with a non-zero exit code if read_tree_recursive fails. builtin/ls-tree.c | 6 +++--- t/t3103-ls-tree-missing-tree.sh | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+), 3 deletions(-) create mode 100755 t/t3103-ls-tree-missing-tree.sh -- 1.7.6.347.g6a5a9c ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 1/2] Add a test to check that git ls-tree sets non-zero exit code on error. 2011-07-23 12:27 [PATCH 0/2] Ensure git ls-tree exits with a non-zero exit code if read_tree_recursive fails Jon Seymour @ 2011-07-23 12:27 ` Jon Seymour 2011-07-23 18:01 ` Jens Lehmann 2011-07-23 12:27 ` [PATCH 2/2] Ensure git ls-tree exits with a non-zero exit code if read_tree_recursive fails Jon Seymour 1 sibling, 1 reply; 4+ messages in thread From: Jon Seymour @ 2011-07-23 12:27 UTC (permalink / raw) To: git; +Cc: Jon Seymour Fails at this commit, fixed by subsequent commit. Signed-off-by: Jon Seymour <jon.seymour@gmail.com> --- t/t3103-ls-tree-missing-tree.sh | 19 +++++++++++++++++++ 1 files changed, 19 insertions(+), 0 deletions(-) create mode 100755 t/t3103-ls-tree-missing-tree.sh diff --git a/t/t3103-ls-tree-missing-tree.sh b/t/t3103-ls-tree-missing-tree.sh new file mode 100755 index 0000000..365ac07 --- /dev/null +++ b/t/t3103-ls-tree-missing-tree.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +test_description='ls-tree exits with non-zero status if it also reports an error' + +. ./test-lib.sh + +test_expect_success 'setup' ' + mkdir a && + touch a/one && + git add a/one && + git commit -m test +' + +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 +' + +test_done -- 1.7.6.347.g6a5a9c ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] Add a test to check that git ls-tree sets non-zero exit code on error. 2011-07-23 12:27 ` [PATCH 1/2] Add a test to check that git ls-tree sets non-zero exit code on error Jon Seymour @ 2011-07-23 18:01 ` Jens Lehmann 0 siblings, 0 replies; 4+ messages in thread From: Jens Lehmann @ 2011-07-23 18:01 UTC (permalink / raw) To: Jon Seymour; +Cc: git Am 23.07.2011 14:27, schrieb Jon Seymour: > Fails at this commit, fixed by subsequent commit. Maybe use "test_expect_failure" here and change that to "test_expect_success" in the next commit? > Signed-off-by: Jon Seymour <jon.seymour@gmail.com> > --- > t/t3103-ls-tree-missing-tree.sh | 19 +++++++++++++++++++ > 1 files changed, 19 insertions(+), 0 deletions(-) > create mode 100755 t/t3103-ls-tree-missing-tree.sh > > diff --git a/t/t3103-ls-tree-missing-tree.sh b/t/t3103-ls-tree-missing-tree.sh > new file mode 100755 > index 0000000..365ac07 > --- /dev/null > +++ b/t/t3103-ls-tree-missing-tree.sh > @@ -0,0 +1,19 @@ > +#!/bin/sh > + > +test_description='ls-tree exits with non-zero status if it also reports an error' > + > +. ./test-lib.sh > + > +test_expect_success 'setup' ' > + mkdir a && > + touch a/one && > + git add a/one && > + git commit -m test > +' > + > +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 > +' > + > +test_done ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 2/2] Ensure git ls-tree exits with a non-zero exit code if read_tree_recursive fails. 2011-07-23 12:27 [PATCH 0/2] Ensure git ls-tree exits with a non-zero exit code if read_tree_recursive fails Jon Seymour 2011-07-23 12:27 ` [PATCH 1/2] Add a test to check that git ls-tree sets non-zero exit code on error Jon Seymour @ 2011-07-23 12:27 ` Jon Seymour 1 sibling, 0 replies; 4+ messages in thread From: Jon Seymour @ 2011-07-23 12:27 UTC (permalink / raw) To: git; +Cc: Jon Seymour 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. Signed-off-by: Jon Seymour <jon.seymour@gmail.com> --- builtin/ls-tree.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/builtin/ls-tree.c b/builtin/ls-tree.c index f08c5b0..6d6c992 100644 --- a/builtin/ls-tree.c +++ b/builtin/ls-tree.c @@ -120,7 +120,7 @@ int cmd_ls_tree(int argc, const char **argv, const char *prefix) { unsigned char sha1[20]; struct tree *tree; - int i, full_tree = 0; + int i, full_tree = 0, err; const struct option ls_tree_options[] = { OPT_BIT('d', NULL, &ls_options, "only show trees", LS_TREE_ONLY), @@ -173,7 +173,7 @@ int cmd_ls_tree(int argc, const char **argv, const char *prefix) tree = parse_tree_indirect(sha1); if (!tree) die("not a tree object"); - read_tree_recursive(tree, "", 0, 0, &pathspec, show_tree, NULL); + err = read_tree_recursive(tree, "", 0, 0, &pathspec, show_tree, NULL); - return 0; + return err; } -- 1.7.6.347.g6a5a9c ^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2011-07-23 18:01 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-07-23 12:27 [PATCH 0/2] Ensure git ls-tree exits with a non-zero exit code if read_tree_recursive fails Jon Seymour 2011-07-23 12:27 ` [PATCH 1/2] Add a test to check that git ls-tree sets non-zero exit code on error Jon Seymour 2011-07-23 18:01 ` Jens Lehmann 2011-07-23 12:27 ` [PATCH 2/2] Ensure git ls-tree exits with a non-zero exit code if read_tree_recursive fails Jon Seymour
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).