On Fri, Apr 13, 2012 at 01:08:24PM -0400, marcnarc@xxxxxxxxxxx wrote: > diff --git a/builtin/fetch.c b/builtin/fetch.c > index cfb43df..b6f737e 100644 > --- a/builtin/fetch.c > +++ b/builtin/fetch.c > @@ -293,14 +293,18 @@ static int update_local_ref(struct ref *ref, > const char *msg; > const char *what; > int r; > - if (!strncmp(ref->name, "refs/tags/", 10)) { > + if (!prefixcmp(ref->name, "refs/tags/")) { > msg = "storing tag"; > what = _("[new tag]"); > } > - else { > + else if (!prefixcmp(ref->name, "refs/heads/")) { > msg = "storing head"; > what = _("[new branch]"); > } > + else { > + msg = "storing ref"; > + what = _("[new ref]"); > + } Hmm. The ref->name we are comparing here is the local side. So if I am fetching a new branch "foo" from the remote into a local "refs/remotes/origin/foo" tracking ref, it used to say: From ../parent * [new branch] master -> origin/master Now it says: From ../parent * [new ref] master -> origin/master while refs/remotes/* are not technically branches in our side, I think from the user's perspective, it is true that we have fetched a branch. Should we be calling refs/remotes/* branches, too? Should we be checking the remote's name for the item instead of the local one? -Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html