• J
    consider only branches in guess_remote_head · 61adfd30
    Jeff King 提交于
    The guess_remote_head function tries to figure out where a
    remote's HEAD is pointing by comparing the sha1 of the
    remote's HEAD with the sha1 of various refs found on the
    remote. However, we were too liberal in matching refs, and
    would match tags or remote tracking branches, even though
    these things could not possibly be referenced by the HEAD
    symbolic ref (since git will detach when checking them out).
    
    As a result, a clone of a remote repository with a detached
    HEAD might write "refs/tags/*" into our local HEAD, which is
    bogus. The resulting HEAD should be detached.
    
    The other related code path is remote.c's get_head_names()
    (which is used for, among other things, "set-head -a"). This was
    not affected, however, as that function feeds only refs from
    refs/heads to guess_remote_head.
    Signed-off-by: NJeff King <peff@peff.net>
    Signed-off-by: NJunio C Hamano <gitster@pobox.com>
    61adfd30
remote.c 41.2 KB