From: Junio C Hamano <gitster@pobox•com>
To: Jeff King <peff@peff•net>
Cc: "Philip Oakley" <philipoakley@iee•org>,
"Félix Saparelli" <felix@passcod•name>,
git@vger•kernel.org
Subject: Re: [Non-Bug] cloning a repository with a default MASTER branch tries to check out the master branch
Date: Thu, 25 May 2017 12:13:03 +0900 [thread overview]
Message-ID: <xmqqa861fx34.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <xmqqshjtg1kh.fsf@gitster.mtv.corp.google.com> (Junio C. Hamano's message of "Thu, 25 May 2017 10:36:14 +0900")
Junio C Hamano <gitster@pobox•com> writes:
> Jeff King <peff@peff•net> writes:
>
>> Unfortunately, it can't, because the ref doesn't exist:
>>
>> $ git ls-remote git://github.com/passcod/UPPERCASE-NPM.git
>> efc7dbfd6ca155d5d19ce67eb98603896062f35a refs/heads/MASTER
>> e60ea8e6ec45ec45ff44ac8939cb4105b16477da refs/pull/1/head
>> f35a73dcb151d336dc3d30c9a2c7423ecdb7bd1c refs/pull/2/head
>> 0d9b3a1268ff39350e04a7183af0add912b686e6 refs/tags/V1.0.0
>> efc7dbfd6ca155d5d19ce67eb98603896062f35a refs/tags/V1.0.1
>>
>> There is no HEAD line at all, so we have no information about it on the
>> client side. Likewise, if you run with GIT_TRACE_PACKET=1, you'll see
>> that the capabilities line does not include a symref marker either.
>>
>> So if we wanted to improve this, I think the first step would be for the
>> server to start sending symref lines for HEAD, even when it does not
>> resolve to anything.
>
> Yup, noticed the same and I agree with your conclusion.
We probably should make head_ref_namespaced() to take the
resolve_flags that is passed down thru refs_read_ref_full() down to
refs_resolve_ref_unsafe(). For the purpose of the first call to it
in upload-pack.c to call back find_symref(), we do not need and want
to say RESOLVE_REF_READING (which requires a symref to be pointing
at an existing ref). I suspect all the other calls (there are 2
other in unload-pack.c and yet another in http-backend.c) to the
function should keep passing RESOLVE_REF_READING, as they do want to
omit a symbolic ref that points at an unborn branch.
next prev parent reply other threads:[~2017-05-25 3:13 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-22 21:42 [Bug] cloning a repository with a default MASTER branch tries to check out the master branch Félix Saparelli
2017-05-23 3:40 ` [Non-Bug] " Junio C Hamano
2017-05-23 23:24 ` Philip Oakley
2017-05-24 14:19 ` Jeff King
2017-05-25 1:36 ` Junio C Hamano
2017-05-25 3:13 ` Junio C Hamano [this message]
2017-05-25 15:59 ` Jeff King
2017-05-25 19:11 ` Jeff King
2017-05-25 23:28 ` Junio C Hamano
2017-05-26 20:00 ` Philip Oakley
2017-05-26 21:17 ` Philip Oakley
2017-05-27 23:55 ` Junio C Hamano
2017-05-28 11:21 ` Philip Oakley
2017-05-28 12:57 ` Junio C Hamano
2017-05-31 4:43 ` Jeff King
2017-05-23 8:01 ` [Bug] " Samuel Lijin
2017-05-23 12:12 ` Jeff King
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqa861fx34.fsf@gitster.mtv.corp.google.com \
--to=gitster@pobox$(echo .)com \
--cc=felix@passcod$(echo .)name \
--cc=git@vger$(echo .)kernel.org \
--cc=peff@peff$(echo .)net \
--cc=philipoakley@iee$(echo .)org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox