git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jon Seymour <jon.seymour@gmail.com>
To: Nguyen Thai Ngoc Duy <pclouds@gmail.com>
Cc: git@vger.kernel.org, Jens.Lehmann@web.de, gitster@pobox.com
Subject: Re: [PATCH v3 2/2] Ensure git ls-tree exits with a non-zero exit code if read_tree_recursive fails.
Date: Mon, 25 Jul 2011 18:45:35 +1000	[thread overview]
Message-ID: <CAH3Anrrbj93briHKpxEjpoVTOnSikQYQyxa4R=C7QKt=punyVw@mail.gmail.com> (raw)
In-Reply-To: <CACsJy8Aa_=BvZOt58sM4dknVzvihH9OtHAS1aRxqPwNLxh0fkg@mail.gmail.com>

Fair point.

Everyone ok with this revision? If so, I will re-roll v4.

Jens: I added the variable back because the return statement with a
ternary operator needed a line break. Let me know
if there is a better way to format it.

jon.

diff --git a/builtin/ls-tree.c b/builtin/ls-tree.c
index d96e9c4..990e1a3 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, ret;
        const struct option ls_tree_options[] = {
                OPT_BIT('d', NULL, &ls_options, "only show trees",
                        LS_TREE_ONLY),
@@ -173,6 +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");
-       return read_tree_recursive(tree, "", 0, 0, &pathspec, show_tree, NULL);
+       ret = read_tree_recursive(tree, "", 0, 0, &pathspec, show_tree, NULL);

+       return ret ? 1 : 0;
 }


On Mon, Jul 25, 2011 at 11:31 AM, Nguyen Thai Ngoc Duy
<pclouds@gmail.com> wrote:
> On Sun, Jul 24, 2011 at 9:59 PM, Jon Seymour <jon.seymour@gmail.com> wrote:
>> @@ -173,7 +173,6 @@ 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);
>> +       return read_tree_recursive(tree, "", 0, 0, &pathspec, show_tree, NULL);
>>
>> -       return 0;
>
> Nit picking. Most programs return positive value (usually 1) for error
> cases here. read_tree_recursive may return -1 (which turns out to be
> 255). Also removing the last blank line in this function would be
> nice.
> --
> Duy
>

  reply	other threads:[~2011-07-25  8:45 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-24 14:59 [PATCH v3 0/2] ls-tree: exit with non-zero status on error Jon Seymour
2011-07-24 14:59 ` [PATCH v3 1/2] Add a test to check that git ls-tree sets non-zero exit code " Jon Seymour
2011-07-24 14:59 ` [PATCH v3 2/2] Ensure git ls-tree exits with a non-zero exit code if read_tree_recursive fails Jon Seymour
2011-07-25  1:31   ` Nguyen Thai Ngoc Duy
2011-07-25  8:45     ` Jon Seymour [this message]
2011-07-25 12:58       ` Nguyen Thai Ngoc Duy
2011-07-25 16:17       ` Andreas Schwab
2011-07-25 16:46       ` Jens Lehmann
2011-07-25 17:38       ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAH3Anrrbj93briHKpxEjpoVTOnSikQYQyxa4R=C7QKt=punyVw@mail.gmail.com' \
    --to=jon.seymour@gmail.com \
    --cc=Jens.Lehmann@web.de \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=pclouds@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).