From: Jonathan Nieder Date: Fri, 04 Jun 2010 02:24:06 GMT Subject: Re: [PATCH 1/2] branch: exit status now reflects if branch listing finds an error Message-ID: <20100604022405.GA26071@progeny.tock> In-Reply-To: <1275551282-21557-1-git-send-email-simo.melenius@iki.fi> Simo Melenius wrote: > If some refs could not be read when listing branches, this can now be > observed in the exit status of the "git branch" command. A noble cause. Thanks. > +struct append_ref_cb > +{ > + struct ref_list *ref_list; > + int ret; > +}; nitpick: the brace should go on the same line to match the other structs in builtin/branch.c and elsewhere in git. > @@ -496,7 +507,9 @@ static void print_ref_list(int kinds, int detached, int verbose, int abbrev, str > ref_list.with_commit = with_commit; > if (merge_filter != NO_FILTER) > init_revisions(&ref_list.revs, NULL); > - for_each_rawref(append_ref, &ref_list); > + cb.ref_list = &ref_list; > + cb.ret = 0; > + for_each_rawref(append_ref, &cb); > if (merge_filter != NO_FILTER) { > struct commit *filter; > filter = lookup_commit_reference_gently(merge_filter_ref, 0); This can be simplified by "ret = for_each_rawref(append_ref, ..." but the above would have to be added back anyway for patch 2/2. So I’m happy with this patch as is. Reviewed-by: Jonathan Nieder diff --git a/builtin/branch.c b/builtin/branch.c index 46ca59c..77ae444 100644 --- a/builtin/branch.c +++ b/builtin/branch.c @@ -257,8 +257,7 @@ static char *resolve_symref(const char *src, const char *prefix) return xstrdup(dst); } -struct append_ref_cb -{ +struct append_ref_cb { struct ref_list *ref_list; int ret; }; --