# Incorrect branch information after fetching (local branch != remote branch)

4 messages from 2022-05-03 to 2022-05-03. Participants: Bagas Sanjaya, Junio C Hamano.
Thread: https://gitlist.dev/t/57837

## Bagas Sanjaya, 2022-05-03 04:58

Subject: Incorrect branch information after fetching (local branch != remote branch)
Message-ID: <9b3a9023-cd73-2e9d-64f1-7cc7e53d9b54@gmail.com>
URL: https://gitlist.dev/e/9b3a9023-cd73-2e9d-64f1-7cc7e53d9b54%40gmail.com

```
Hi,

I have a copy of linux.git (Linux kernel) repository, with following
branch mapping:

  * master -> torvalds/master (Linus' mainline tree)
  * linux-5.*.y -> stable/linux-5.*.y (Stable tree)
  * net-next -> net-next/master (net-next tree)

When I fetch the mainline tree (torvalds/master), I get the expected
branch fetching info:

From https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
   672c0c5173427e..9050ba3a61a4b5  master     -> torvalds/master

When I fetch net-next, I get possibly incorrect branch name instead:

From https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next
   6e28f56c0d1d97..0530a683fc858a  master     -> net-next/master

I expected that net-next (local branch name) is displayed instead of
master in this case.

Thanks.

-- 
An old man doll... just what I always wanted! - Clara

```

## Junio C Hamano, 2022-05-03 05:51

Subject: Re: Incorrect branch information after fetching (local branch != remote branch)
Message-ID: <xmqq7d73rwnq.fsf@gitster.g>
URL: https://gitlist.dev/e/xmqq7d73rwnq.fsf%40gitster.g
In-Reply-To: <9b3a9023-cd73-2e9d-64f1-7cc7e53d9b54@gmail.com>

```
Bagas Sanjaya <bagasdotme@gmail.com> writes:

> I have a copy of linux.git (Linux kernel) repository, with following
> branch mapping:
>
>   * master -> torvalds/master (Linus' mainline tree)
>   * linux-5.*.y -> stable/linux-5.*.y (Stable tree)
>   * net-next -> net-next/master (net-next tree)
>
> When I fetch the mainline tree (torvalds/master), I get the expected
> branch fetching info:
>
> From https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
>    672c0c5173427e..9050ba3a61a4b5  master     -> torvalds/master
>
> When I fetch net-next, I get possibly incorrect branch name instead:
>
> From https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next
>    6e28f56c0d1d97..0530a683fc858a  master     -> net-next/master
>
> I expected that net-next (local branch name) is displayed instead of
> master in this case.
>
> Thanks.

I may be entirely missing what you are raising as a problem, but visiting

https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/

shows that their primary branch is called 'master'.

The verbose report left by "git fetch" tells us what branch they
have is used to update what branch we have, so I think this is
pretty much expected.

I am puzzled by your mention of 'net-next' (local).

You may have

    [branch "net-next"]
        remote = net-next
	merge = master

and that is where your expectation on the local may be coming from,
but it wouldn't be all that relevant to "git fetch". The update of
the local branch will happen long after "git fetch" is done.

Besides, you may have more than one local branch that is forked from
the same remotes/net-next/master remote-tracking branch and at that
point "git fetch" wouldn't be able to tell which one of these
multiple local branches to show.

```

## Bagas Sanjaya, 2022-05-03 06:42

Subject: Re: Incorrect branch information after fetching (local branch != remote branch)
Message-ID: <bcb069c7-f104-a494-1862-30709dc6f8a0@gmail.com>
URL: https://gitlist.dev/e/bcb069c7-f104-a494-1862-30709dc6f8a0%40gmail.com
In-Reply-To: <xmqq7d73rwnq.fsf@gitster.g>

```
On 5/3/22 12:51, Junio C Hamano wrote:
> The verbose report left by "git fetch" tells us what branch they
> have is used to update what branch we have, so I think this is
> pretty much expected.
> 
> I am puzzled by your mention of 'net-next' (local).
> 
> You may have
> 
>     [branch "net-next"]
>         remote = net-next
> 	merge = master
> 
> and that is where your expectation on the local may be coming from,
> but it wouldn't be all that relevant to "git fetch". The update of
> the local branch will happen long after "git fetch" is done.
> 

Ah I see.

So the left-hand side of verbose report (local branch) is actually
the value of branch."net-next".merge, right?

-- 
An old man doll... just what I always wanted! - Clara

```

## Junio C Hamano, 2022-05-03 06:49

Subject: Re: Incorrect branch information after fetching (local branch != remote branch)
Message-ID: <xmqq35hrrtze.fsf@gitster.g>
URL: https://gitlist.dev/e/xmqq35hrrtze.fsf%40gitster.g
In-Reply-To: <bcb069c7-f104-a494-1862-30709dc6f8a0@gmail.com>

```
Bagas Sanjaya <bagasdotme@gmail.com> writes:

> On 5/3/22 12:51, Junio C Hamano wrote:
>> The verbose report left by "git fetch" tells us what branch they
>> have is used to update what branch we have, so I think this is
>> pretty much expected.
>> 
>> I am puzzled by your mention of 'net-next' (local).
>> 
>> You may have
>> 
>>     [branch "net-next"]
>>         remote = net-next
>> 	merge = master
>> 
>> and that is where your expectation on the local may be coming from,
>> but it wouldn't be all that relevant to "git fetch". The update of
>> the local branch will happen long after "git fetch" is done.
>> 
>
> Ah I see.
>
> So the left-hand side of verbose report (local branch) is actually
> the value of branch."net-next".merge, right?

Not really.  It comes from

	[remote "net-next"]
	    remote = https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next
	    fetch = refs/heads/*:refs/remotes/net-next/*

and the fact that the remote happens to have only one branch under
its refs/heads/ hierarchy.  Fetch does not care all that much about
"branch.*.merge" (which is what I said---the configuration is not
all that relevant to "git fetch").


```
