Subject: Re: Incorrect branch information after fetching (local branch != remote branch)

From: Junio C Hamano <[email-masked]>
Date: Mon, 02 May 2022 22:51:37 -0700

Bagas Sanjaya <[email-masked]> 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.