git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jonathan Nieder <jrnieder@gmail.com>
To: Simo Melenius <simo.melenius@iki.fi>
Cc: git@vger.kernel.org
Subject: Re: Bug? "git branch" failing to list all branches
Date: Thu, 3 Jun 2010 01:55:28 -0500	[thread overview]
Message-ID: <20100603065527.GA23439@progeny.tock> (raw)
In-Reply-To: <AANLkTinCNgsIf_MsiysfphKm3MCW2Uio_xiemfDZraH7@mail.gmail.com>

Simo Melenius wrote:

> My change doesn't change the current behaviour. At least git 1.7.0.4
> didn't give a nonzero exit status either. It would be good if it did.
> 
> I could add that to my patch. I'm, however, unsure of what's the best
> way to communicate the error from append_ref() to cmd_branch(). A
> static variable in branch.c would of course do.

I see.  You can use the cb_data argument to pass a result back:

 struct append_ref_cb {
 	struct ref_list *ref_list;
 	int err;
 };

A static variable might be simpler.

But that is a separate topic (for a separate patch).  I can pick it up
if you don’t.

>> If I have 37 branches and an error is encountered looking up one of
>> them, with this patch the error message will scroll off the screen.
>> Is this worth worrying about?  It depends on what the usual causes for
>> broken branch refs are and whether they require attention or can be
>> safely ignored.
>
> Since this only concerns the printing of branches, often for
> interactive viewing or bash completion, and does not affect any of the
> operations that modify the repository, I think it's sufficient that
> the error message is still readable from stderr for those who are
> interested.

Sorry, I must have been unclear.  Let me illustrate with an example:

 $ git branch
 * (no branch)
   cc/sequencer-rebase-i
   db/svn-fe
 error: branch 'dk/hash' does not point at a commit.
   gp/debian-pu
   gp/sid-patches
   jl/gitk-submodule
   jk/pull-rebase-message
   jn/debian-build-depends
   js/grep-open
   ks/gitk-notes
   nd/gitbox
   nd/setup
   rr/svn-remote
   sb/sequencer-dev
   sb/sequencer-rfc
 ...

If this scrolls on for too long, I will not see the message.  Now if
the error is due to some kind of corruption or a broken script, I
would want to know about it right away, even if I can carry on with
my work without.  So in that case, it would make sense to add at the
end:

 fatal: some refs could not be read.

On the other hand, maybe there is some harmless process that often
creates these broken refs and such a message would be a nuisance.

Hoping that is clearer,
Jonathan

  reply	other threads:[~2010-06-03  6:55 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-02 14:47 Bug? "git branch" failing to list all branches Simo Melenius
2010-06-03  4:22 ` Jonathan Nieder
2010-06-03  6:00   ` Simo Melenius
2010-06-03  6:55     ` Jonathan Nieder [this message]
2010-06-03  7:48       ` [PATCH 1/2] branch: exit status now reflects if branch listing finds an error Simo Melenius
2010-06-04  2:24         ` Jonathan Nieder
2010-06-03  7:48       ` [PATCH 2/2] branch: don't fail listing branches if one of the commits wasn't found Simo Melenius
2010-06-03 17:42         ` Sverre Rabbelier
2010-06-04  2:43         ` Jonathan Nieder
2010-06-04  9:48           ` Simo Melenius
2010-06-04  9:50             ` [PATCH 1/2] branch: exit status now reflects if branch listing finds an error Simo Melenius
2010-06-04  9:50             ` [PATCH 2/2] branch: don't fail listing branches if one of the commits wasn't found Simo Melenius

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=20100603065527.GA23439@progeny.tock \
    --to=jrnieder@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=simo.melenius@iki.fi \
    /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).