{"thread":{"id":"16768","subject":"git clone rsync:// broken","startedAt":"2008-12-17T13:45:23Z","lastAt":"2008-12-17T13:45:23Z","messageCount":1,"participants":["demerphq"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"98142","messageId":"9b18b3110812170545y59eb5732sf776504da578c2fd@mail.gmail.com","threadId":"16768","inReplyTo":null,"subject":"git clone rsync:// broken","fromName":"demerphq","fromEmail":"demerphq@gmail.com","sentAt":"2008-12-17T13:45:23Z","receivedAt":"2008-12-17T13:45:23Z","isPatch":false,"sender":{"key":"demerphq@gmail.com","avatar":null},"body":"Hi,\n\nSummary:\n\nThere seems to be a problem with cloning via rsync in that a corrupted\npacked-refs file is/maybe transmitted, and the HEAD file is not\ncorrectly transfered.\n\nDetail:\n\nI've been encountering some problems getting things set up so people\ncan clone using rsync.\n\nThe object repository seems to transfer fine, in that the resulting\ndirectory is the right size approximately, but the cloning fails with\nthe error message\n\n    warning: remote HEAD refers to nonexistent ref, unable to checkout\n\nInspecting the .git/HEAD file it points at refs/heads/master,  which\ndoesn't exist as for historical reasons our master is called 'blead'.\n\nLooking at the packed-refs file there was a duplicate incorrect entry\nin the file. Which was remedied by executing\n\n    git pack-refs --all\n\non the source repository which improves the situation somewhat, as\nafter a clone fails we were able do a\n\n   git checkout -b blead origin/blead\n\nand things seem ok. But the clone still fails as the HEAD is not correct.\n\nIf we use git://, http://, or ssh:// protocols to clone everything\ntransfers fine.\n\nI checked in the #git channel and there were a number of comments by\npeople that helped me investigate:\n\nbecause git transport via rsync seems to assume packed-refs is sorted\n- which it maybe wasnt (cant check now anymore).\nThat caused the failure like \"fatal: Duplicated ref, and SHA1s don't\nmatch: refs/remotes/origin/p4/maint-5.10/perl\"\nThe remaining problem is, that HEAD seems not get fetched at all\nAnd I dont see how HEAD should get fetched in the transport.c code\nThe other dumb protocol aka http explicitly gets it\nSo i would bugreport this\n\nFor anyone wanting to try the repo is public at:\nperl5.git.perl.org/perl, which works fine with http://, and git://,\nbut currently rsync:// is broken.\n\nThis isnt the official perl repository yet. We were planning to go\nlive with it tomorrow. Meaning if you do clone it please be aware that\nwe might replace the repository with a complete new version before it\ngoes live.\n\ncheers,\nYves\nps: Im not on list, so please cc me in any replies.\n\n\n\n-- \nperl -Mre=debug -e \"/just|another|perl|hacker/\"\n"}]}