git/list[1] front-page[2] threads[3] people[4] search[5] about
 

git clone rsync:// broken

From
Ddemerphq <demerphq@gmail.com>
Date
Dec 17, 2008, 13:45 UTC
Message-ID
<9b18b3110812170545y59eb5732sf776504da578c2fd@mail.gmail.com>
Hi,
Summary:

There seems to be a problem with cloning via rsync in that a corrupted packed-refs file is/maybe transmitted, and the HEAD file is not correctly transfered.

Detail:

I've been encountering some problems getting things set up so people can clone using rsync.

The object repository seems to transfer fine, in that the resulting directory is the right size approximately, but the cloning fails with the error message

    warning: remote HEAD refers to nonexistent ref, unable to checkout

Inspecting the .git/HEAD file it points at refs/heads/master, which doesn't exist as for historical reasons our master is called 'blead'.

Looking at the packed-refs file there was a duplicate incorrect entry in the file. Which was remedied by executing

    git pack-refs --all

on the source repository which improves the situation somewhat, as after a clone fails we were able do a

   git checkout -b blead origin/blead
and things seem ok. But the clone still fails as the HEAD is not correct.

If we use git://, http://, or ssh:// protocols to clone everything transfers fine.

I checked in the #git channel and there were a number of comments by people that helped me investigate:

because git transport via rsync seems to assume packed-refs is sorted
- which it maybe wasnt (cant check now anymore).
That caused the failure like "fatal: Duplicated ref, and SHA1s don't
match: refs/remotes/origin/p4/maint-5.10/perl"
The remaining problem is, that HEAD seems not get fetched at all
And I dont see how HEAD should get fetched in the transport.c code
The other dumb protocol aka http explicitly gets it
So i would bugreport this

For anyone wanting to try the repo is public at: perl5.git.perl.org/perl, which works fine with http://, and git://, but currently rsync:// is broken.

This isnt the official perl repository yet. We were planning to go live with it tomorrow. Meaning if you do clone it please be aware that we might replace the repository with a complete new version before it goes live.

cheers, Yves ps: Im not on list, so please cc me in any replies.

-- 
perl -Mre=debug -e "/just|another|perl|hacker/"
Message 1 of 1 in “git clone rsync:// broken”
  1. demerphqDec 17, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.