From: Junio C Hamano <gitster@pobox•com>
To: Karthik Nayak <karthik.188@gmail•com>
Cc: git@vger•kernel.org, christian.couder@gmail•com,
Matthieu.Moy@grenoble-inp•fr
Subject: Re: [PATCH v4 5/8] branch: drop non-commit error reporting
Date: Mon, 14 Sep 2015 12:49:36 -0700 [thread overview]
Message-ID: <xmqqvbbcvl0v.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <1442129035-31386-6-git-send-email-Karthik.188@gmail.com> (Karthik Nayak's message of "Sun, 13 Sep 2015 12:53:52 +0530")
Karthik Nayak <karthik.188@gmail•com> writes:
> Remove the error reporting variable to make the code easier to port
> over to using ref-filter APIs. This variable is not required as in
> ref-filter we already check for possible errors and report them.
Hmmmm. What do you exactly mean "possible errors" here?
Unlike generic refs that can point at anything, refs/heads/* refs
must point at a commit [*1*], and that is why the error message says
'does not point at a commit'.
Does ref-filter API have corresponding check to treat the local and
remote branch hierarchies differently from tags and others?
[Footnote]
*1* Strictly speaking, use of lookup_commit_reference_gently() in
the existing code allows a committish to be there and does not
limit the tip objects to be commits, but I think it is a bug.
At least, even with deref_tag(), we reject non committish found
at the tip of branch refs and explain with the error message
this patch removes.
> Based-on-patch-by: Jeff King <peff@peff•net>
> Mentored-by: Christian Couder <christian.couder@gmail•com>
> Mentored-by: Matthieu Moy <matthieu.moy@grenoble-inp•fr>
> Signed-off-by: Karthik Nayak <karthik.188@gmail•com>
> ---
> builtin/branch.c | 18 ++++--------------
> 1 file changed, 4 insertions(+), 14 deletions(-)
>
> diff --git a/builtin/branch.c b/builtin/branch.c
> index 4d9e4d0..8b9da60 100644
> --- a/builtin/branch.c
> +++ b/builtin/branch.c
> @@ -313,7 +313,6 @@ static char *resolve_symref(const char *src, const char *prefix)
> struct append_ref_cb {
> struct ref_list *ref_list;
> const char **pattern;
> - int ret;
> };
>
> static int match_patterns(const char **pattern, const char *refname)
> @@ -370,10 +369,8 @@ static int append_ref(const char *refname, const struct object_id *oid, int flag
> commit = NULL;
> if (ref_list->verbose || ref_list->with_commit || merge_filter != NO_FILTER) {
> commit = lookup_commit_reference_gently(oid->hash, 1);
> - if (!commit) {
> - cb->ret = error(_("branch '%s' does not point at a commit"), refname);
> + if (!commit)
> return 0;
> - }
>
> /* Filter with with_commit if specified */
> if (!is_descendant_of(commit, ref_list->with_commit))
> @@ -617,7 +614,7 @@ static int calc_maxwidth(struct ref_list *refs, int remote_bonus)
> return max;
> }
>
> -static int print_ref_list(int kinds, int detached, int verbose, int abbrev, struct commit_list *with_commit, const char **pattern)
> +static void print_ref_list(int kinds, int detached, int verbose, int abbrev, struct commit_list *with_commit, const char **pattern)
> {
> int i, index;
> struct append_ref_cb cb;
> @@ -642,7 +639,6 @@ static int print_ref_list(int kinds, int detached, int verbose, int abbrev, stru
> init_revisions(&ref_list.revs, NULL);
> cb.ref_list = &ref_list;
> cb.pattern = pattern;
> - cb.ret = 0;
> /*
> * First we obtain all regular branch refs and if the HEAD is
> * detached then we insert that ref to the end of the ref_fist
> @@ -702,11 +698,6 @@ static int print_ref_list(int kinds, int detached, int verbose, int abbrev, stru
> abbrev, detached, remote_prefix);
>
> free_ref_list(&ref_list);
> -
> - if (cb.ret)
> - error(_("some refs could not be read"));
> -
> - return cb.ret;
> }
>
> static void rename_branch(const char *oldname, const char *newname, int force)
> @@ -922,15 +913,14 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
> die(_("branch name required"));
> return delete_branches(argc, argv, delete > 1, kinds, quiet);
> } else if (list) {
> - int ret;
> /* git branch --local also shows HEAD when it is detached */
> if (kinds & REF_LOCAL_BRANCH)
> kinds |= REF_DETACHED_HEAD;
> - ret = print_ref_list(kinds, detached, verbose, abbrev,
> + print_ref_list(kinds, detached, verbose, abbrev,
> with_commit, argv);
> print_columns(&output, colopts, NULL);
> string_list_clear(&output, 0);
> - return ret;
> + return 0;
> }
> else if (edit_description) {
> const char *branch_name;
next prev parent reply other threads:[~2015-09-14 19:49 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-13 7:23 [PATCH v4 0/8] port the filtering part of branch.c to use ref-filter APIs Karthik Nayak
2015-09-13 7:23 ` [PATCH v4 1/8] branch: refactor width computation Karthik Nayak
2015-09-13 11:51 ` Matthieu Moy
2015-09-13 12:23 ` Karthik Nayak
2015-09-13 12:33 ` Matthieu Moy
2015-09-13 7:23 ` [PATCH v4 2/8] branch: bump get_head_description() to the top Karthik Nayak
2015-09-13 7:23 ` [PATCH v4 3/8] branch: roll show_detached HEAD into regular ref_list Karthik Nayak
2015-09-13 12:12 ` Matthieu Moy
2015-09-13 13:24 ` Karthik Nayak
2015-09-13 16:46 ` Eric Sunshine
2015-09-13 18:31 ` Eric Sunshine
2015-09-14 14:48 ` Karthik Nayak
2015-09-14 14:54 ` Matthieu Moy
2015-09-14 19:35 ` Junio C Hamano
2015-09-16 6:23 ` Karthik Nayak
2015-09-17 9:47 ` Karthik Nayak
2015-09-17 14:18 ` Matthieu Moy
2015-09-17 15:15 ` Junio C Hamano
2015-09-17 15:43 ` Matthieu Moy
2015-09-17 16:49 ` Junio C Hamano
2015-09-17 17:08 ` Matthieu Moy
2015-09-17 17:21 ` Junio C Hamano
2015-09-17 18:25 ` Karthik Nayak
2015-09-13 7:23 ` [PATCH v4 4/8] branch: move 'current' check down to the presentation layer Karthik Nayak
2015-09-13 12:15 ` Matthieu Moy
2015-09-13 13:22 ` Karthik Nayak
2015-09-13 15:35 ` Karthik Nayak
2015-09-13 7:23 ` [PATCH v4 5/8] branch: drop non-commit error reporting Karthik Nayak
2015-09-14 19:49 ` Junio C Hamano [this message]
2015-09-16 6:04 ` Karthik Nayak
2015-09-13 7:23 ` [PATCH v4 6/8] branch.c: use 'ref-filter' data structures Karthik Nayak
2015-09-13 12:26 ` Matthieu Moy
2015-09-13 13:19 ` Karthik Nayak
2015-09-13 17:49 ` Matthieu Moy
2015-09-13 7:23 ` Karthik Nayak
2015-09-13 7:32 ` Karthik Nayak
2015-09-13 7:23 ` [PATCH v4 8/8] branch: add '--points-at' option Karthik Nayak
2015-09-13 7:29 ` [PATCH v4 7/8] branch.c: use 'ref-filter' APIs Karthik Nayak
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=xmqqvbbcvl0v.fsf@gitster.mtv.corp.google.com \
--to=gitster@pobox$(echo .)com \
--cc=Matthieu.Moy@grenoble-inp$(echo .)fr \
--cc=christian.couder@gmail$(echo .)com \
--cc=git@vger$(echo .)kernel.org \
--cc=karthik.188@gmail$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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