Re: [PATCHv2] fetch: Only call a new ref a "branch" if it's under refs/heads/.
- From
Jeff King <peff@peff.net>
- Date
- Apr 13, 2012, 21:13 UTC
- Message-ID
- <20120413211350.GD7919@sigill.intra.peff.net>
- In-Reply-To
- <1334336904-18649-1-git-send-email-marcnarc@xiplink.com>
On Fri, Apr 13, 2012 at 01:08:24PM -0400, marcnarc@xiplink.com wrote:
Show 22 quoted lines
> 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/masterNow it says:
From ../parent
* [new ref] master -> origin/masterwhile 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