Re: [Bug] cloning a repository with a default MASTER branch tries to check out the master branch
- From
Jeff King <peff@peff.net>
- Date
- May 23, 2017, 12:12 UTC
- Message-ID
- <20170523121159.zxxp43o6es7lzcj3@sigill.intra.peff.net>
- In-Reply-To
- <CAJZjrdWXsuKrFzedLvyE-1mvD0RC5XYDkmvV3wRNWXjFAVt4iQ@mail.gmail.com>
On Tue, May 23, 2017 at 04:01:06AM -0400, Samuel Lijin wrote:
Show 12 quoted lines
> For some reason the repo on GH does not have a HEAD pointer: > > $ git ls-remote https://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 > > I'm not sure how you managed to do that, since GH rejects attempts to > delete the current branch, but I believe if you set the default branch > to MASTER it will work correctly.
The HEAD branch on the server side is still pointing at refs/heads/master. But since that doesn't exist, upload-pack doesn't advertise HEAD at all (it has no sha1).
You can recreate this situation with:
cd /some/repo git init --bare dst.git git push dst.git HEAD:refs/heads/MASTER git ls-remote dst.git
No current-branch deletion required.
Félix should be able to re-point the server-side HEAD to MASTER via GitHub's web interface.
GitHub's post-receive hook usually does that automatically if you push a branch to a repository with an unborn HEAD. But I think there may be corner cases where it gets confused.
-Peff