Re: Git clone behave strange after active branch change in bare repo

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Mar 12, 2012 at 11:10:03AM +0100, Zdenek Crha wrote:

> When I run git clone while 'master' and 'a_branch' point to same
> commit, I will get clone with default branch 'master' where I would
> expect default branch 'a_branch'.

Yes, this is a known issue. The git protocol does not transfer the
contents of the symref; the client must guess the branch name from the
set of refs that are advertised. This has been discussed before, and
there were even some patches proposed, but I think nobody cared enough
to push it through, as it requires an extension to the protocol.

You can search the list archives for past discussions.

> I did few more checks and it seems to me that:
> 
> * when active branch is 'master' then default branch in clone is
> always master as expected
> * when active branch is different from 'master', then the default
> branch in clone is a first branch in alfabetically sorted list of
> branches that point to same commit as active branch

Exactly. The relevant code is in remote.c:guess_remote_head.

-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


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]