{"thread":{"id":"1799","subject":"FW: Git pulls failing on ia64 test tree?","startedAt":"2005-09-14T15:47:09Z","lastAt":"2005-09-14T17:47:35Z","messageCount":4,"participants":["Luck, Tony","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"8528","messageId":"B8E391BBE9FE384DAA4C5C003888BE6F046279C5@scsmsx401.amr.corp.intel.com","threadId":"1799","inReplyTo":null,"subject":"FW: Git pulls failing on ia64 test tree?","fromName":"Luck, Tony","fromEmail":"tony.luck@intel.com","sentAt":"2005-09-14T15:47:09Z","receivedAt":"2005-09-14T15:47:09Z","isPatch":false,"sender":{"key":"tony.luck@intel.com","avatar":"https://avatars.githubusercontent.com/u/5446021?v=4"},"body":"I've had two complaints that people can't pull from my tree\non kernel.org.  Here's a snip from the errors.\n\n > $ git pull \nrsync://rsync.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git test\n > MOTD:\n > MOTD:   Welcome to the Linux Kernel Archive.\n    ... MOTD trimmed ...\n > receiving file list ... done\n >\n > wrote 113 bytes  read 30799 bytes  20608.00 bytes/sec\n > total size is 82275235  speedup is 2661.60\n > * committish: 6c141f61ee4f5fba63d9c54e03cb2faa6877bf1a  refs/heads/test from \nrsync://rsync.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git\n > error: Could not read 9401c705f2a6a7e5df102f6443dba395c3c5e5a8\n > error: Could not read 357d596bd552ad157a906289ab13ea6ba7e66e3d\n > Updating from aa2dca4563b0629ecd9d9994dfdf39f29ff1b43f to \n6c141f61ee4f5fba63d9c54e03cb2faa6877bf1a.\n > fatal: failed to unpack tree object 6c141f61ee4f5fba63d9c54e03cb2faa6877bf1a\n > $\n\nAfter the first complaint, I looked around and found out about\n\"git-update-server-info\" (which I'd somehow missed).  So I ran\n(on master.kernel.org):\n\n  $ GIT_DIR=/pub/scm/linux/kernel/git/aegl/linux-2.6.git git-update-server-info\n\nand I now have info/refs, info/rev-cache, and objects/info/packs files.\n\n12 hours later, I got another complaint.\n\nI've set up objects/info/alternates to point at linus' tree and deleted\nall the packs from my tree.  The web view at kernel.org/git looks ok,\nso I think those changes are ok.\n\nSo what am I missing?\n\n-Tony\n"},{"id":"8535","messageId":"7vbr2vob6w.fsf@assigned-by-dhcp.cox.net","threadId":"1799","inReplyTo":"B8E391BBE9FE384DAA4C5C003888BE6F046279C5@scsmsx401.amr.corp.intel.com","subject":"Re: FW: Git pulls failing on ia64 test tree?","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-09-14T16:39:51Z","receivedAt":"2005-09-14T16:39:51Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Luck, Tony\" <tony.luck@intel.com> writes:\n\n> After the first complaint, I looked around and found out about\n> \"git-update-server-info\" (which I'd somehow missed).  So I ran\n> (on master.kernel.org):\n>\n>   $ GIT_DIR=/pub/scm/linux/kernel/git/aegl/linux-2.6.git git-update-server-info\n>\n> and I now have info/refs, info/rev-cache, and objects/info/packs files.\n\nThat is a nice, but rsync bypasses all of that so I suspect\nthere is something else.  If you did not say:\n\n> 12 hours later, I got another complaint.\n\nI would have suspected that this was when one of the kernel.org\nmirror machine was misbehaving and did not update for a day or\nso, but I think it is already resolved now so I am puzzled..\n\n> I've set up objects/info/alternates to point at linus' tree and deleted\n> all the packs from my tree.  The web view at kernel.org/git looks ok,\n> so I think those changes are ok.\n>\n> So what am I missing?\n\nLet me take a look at your tree on master while I'll try to pull\nfrom your public tree and see if I can reproduce.\n"},{"id":"8537","messageId":"7vk6hjlfxw.fsf@assigned-by-dhcp.cox.net","threadId":"1799","inReplyTo":"7vbr2vob6w.fsf@assigned-by-dhcp.cox.net","subject":"Re: FW: Git pulls failing on ia64 test tree?","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-09-14T17:25:31Z","receivedAt":"2005-09-14T17:25:31Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Junio C Hamano <junkio@cox.net> writes:\n\n> \"Luck, Tony\" <tony.luck@intel.com> writes:\n>\n>> I've set up objects/info/alternates to point at linus' tree and deleted\n>> all the packs from my tree.  The web view at kernel.org/git looks ok,\n>> so I think those changes are ok.\n>>\n>> So what am I missing?\n>\n> Let me take a look at your tree on master while I'll try to pull\n> from your public tree and see if I can reproduce.\n\nAh, you deleted packs from your repository, which I missed when\nI first saw your message.\n\nThe objects/info/alternates mechanism is currently only known to\nthe git that operates on the machine that has the file -- client\nside does not make use of that information.  That means only\ngit-daemon and 'git native protocol over ssh' (not the commit\nwalker ssh-fetch) can deal with such a repository right now,\nbecause they run git on the side your repository is.  Gitweb\nalso obviously runs git on the machine a copy of repository is,\nso you would not see problems.\n\nThe recommendation by Linus to \"point him with alternate to\nborrow his objects\" is a sound one in the long term, but I think\nit was a bit premature in practice -- the client side tools are\nnot ready for that yet.  From the original error report:\n\n > error: Could not read 9401c705f2a6a7e5df102f6443dba395c3c5e5a8\n > error: Could not read 357d596bd552ad157a906289ab13ea6ba7e66e3d\n > Updating from aa2dca4563b0629ecd9d9994dfdf39f29ff1b43f to \n6c141f61ee4f5fba63d9c54e03cb2faa6877bf1a.\n > fatal: failed to unpack tree object 6c141f61ee4f5fba63d9c54e03cb2faa6877bf1a\n > $\n\nThe first two \"Could not read\" are talking about objects only\nfound in Linus' repository -- your objects/ hierarchy does not\nhave them.  Rsync transport slurps everything under _your_\nobjects/ hierarchy [*1*] and does not know that your objects/\nhierarchy is incomplete and needs to borrow from Linus' objects/\ndirectory.  If the downloader has the objects found in Linus'\nrepository that is fine but otherwise he has problems.\n\nAs a workaround, please do this:\n\n    cd /pub/scm/linux/kernel/git/aegl/linux-2.6.git/\n    ln ../../torvalds/linux-2.6.git/objects/pack/* objects/pack/.\n    mv objects/info/alternates objects/info/alternates+\n    GIT_DIR=. git fetch ../../torvalds/linux-2.6.git/\n    GIT_DIR=. git fsck-objects\n    mv objects/info/alternates+ objects/info/alternates\n\nThe 'git fetch' step would complain about a couple of commits\nyou have but there is no need to worry -- we are deliberately\n\"corrupting\" your repository by temporarily moving alternates\naway so that it can fetch missing objects from Linus repository.\nThe fsck-objects should then report no missing objects.\n\nSorry for this very unpleasant experience git has caused you\nX-<.\n\n[Footnotes]\n\n*1* BTW, I just spotted a bug there -- since we now have\nobjects/info subdirectory, we should exclude that when copying.\n\n*2* Ideally I would have liked to do git-relink after 'git fetch'\nfrom Linus repo in the above, but it does not seem to want to\nrelink a naked repository...  I should bug Ryan about it.\n"},{"id":"8539","messageId":"7vfys7lex4.fsf@assigned-by-dhcp.cox.net","threadId":"1799","inReplyTo":"7vk6hjlfxw.fsf@assigned-by-dhcp.cox.net","subject":"Re: FW: Git pulls failing on ia64 test tree?","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-09-14T17:47:35Z","receivedAt":"2005-09-14T17:47:35Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Junio C Hamano <junkio@cox.net> writes:\n\n> As a workaround, please do this:\n>\n>     cd /pub/scm/linux/kernel/git/aegl/linux-2.6.git/\n>     ln ../../torvalds/linux-2.6.git/objects/pack/* objects/pack/.\n>     mv objects/info/alternates objects/info/alternates+\n>     GIT_DIR=. git fetch ../../torvalds/linux-2.6.git/\n>     GIT_DIR=. git fsck-objects\n>     mv objects/info/alternates+ objects/info/alternates\n\nActually, please chuck the last step to re-enable alternates.\nOtherwise everytime Linus updates his repository you will be out\nof sync and will get hit by the same problem.\n\n> The 'git fetch' step would complain about a couple of commits\n> you have but there is no need to worry -- we are deliberately\n> \"corrupting\" your repository by temporarily moving alternates\n> away so that it can fetch missing objects from Linus repository.\n> The fsck-objects should then report no missing objects.\n>\n> Sorry for this very unpleasant experience git has caused you\n> X-<.\n"}]}