git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: demerphq <demerphq@gmail.com>
To: git@vger.kernel.org
Subject: git clone rsync:// broken
Date: Wed, 17 Dec 2008 14:45:23 +0100	[thread overview]
Message-ID: <9b18b3110812170545y59eb5732sf776504da578c2fd@mail.gmail.com> (raw)

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/"

                 reply	other threads:[~2008-12-17 13:46 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=9b18b3110812170545y59eb5732sf776504da578c2fd@mail.gmail.com \
    --to=demerphq@gmail.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
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;
as well as URLs for NNTP newsgroup(s).