{"thread":{"id":"42117","subject":"issue upgrading git from 1.8.2.1 to 2.8.0","startedAt":"2016-04-22T22:44:02Z","lastAt":"2016-04-23T05:22:08Z","messageCount":6,"participants":["Gennaro Torre","Stefan Beller","Junio C Hamano","Jeff King"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"284209","messageId":"CA+UAp04e9-CcUJ+2fheHGw1q6MS6smyHhvyw34NeoT7HbKgnnQ@mail.gmail.com","threadId":"42117","inReplyTo":null,"subject":"issue upgrading git from 1.8.2.1 to 2.8.0","fromName":"Gennaro Torre","fromEmail":"gtorre@tumblr.com","sentAt":"2016-04-22T22:44:02Z","receivedAt":"2016-04-22T22:44:02Z","isPatch":false,"sender":{"key":"gtorre@tumblr.com","avatar":null},"body":"Hi,\n\nLast week we upgraded git from 1.8.2.1 to 2.8.0. We saw some very\nweird behavior where git clones and pushes were working, but git fetch\nwas not.\n\nHere is our setup:\n\nWe have 10+ nodes caching a few repositories, the repos were\noriginally cloned via git 1.8.2.1 with `git clone --mirror <repo>`\n\nWe have 3000+ nodes that take deploys using the git protocol, via `git\nfetch`, the existing repositories were also cloned via git 1.8.2.1\nfrom the caching nodes.\n\nWhen we upgraded to 2.8.0, all nodes received the upgrade.\n\nWe observed that when we tried to deploy code to the nodes (they run\n`git fetch` to update the repository) this would fail.\n\nThe fix: we deleted the repositories originally cloned via git\n1.8.2.1, and did a `git clone <repo>` dropping a fresh repository that\nwas cloned using git 2.8.0. Everything started working correctly. Our\nrunning theory here is that there was some incompatibility with the\nrepositories cloned with the old version of git, and trying to run\n`git fetch` with the newest version of git.\n\nThanks,\nGennaro\n"},{"id":"284210","messageId":"CAGZ79kYt_D7F3Uq_bhDpJa6Hnc1xfazhU1oree_nM0xbgROqsQ@mail.gmail.com","threadId":"42117","inReplyTo":"CA+UAp04e9-CcUJ+2fheHGw1q6MS6smyHhvyw34NeoT7HbKgnnQ@mail.gmail.com","subject":"Re: issue upgrading git from 1.8.2.1 to 2.8.0","fromName":"Stefan Beller","fromEmail":"sbeller@google.com","sentAt":"2016-04-22T22:48:49Z","receivedAt":"2016-04-22T22:48:49Z","isPatch":false,"sender":{"key":"stefanbeller@gmail.com","avatar":"https://avatars.githubusercontent.com/u/455868?v=4"},"body":"On Fri, Apr 22, 2016 at 3:44 PM, Gennaro Torre <gtorre@tumblr.com> wrote:\n>\n> Hi,\n>\n> Last week we upgraded git from 1.8.2.1 to 2.8.0. We saw some very\n> weird behavior where git clones and pushes were working, but git fetch\n> was not.\n>\n> Here is our setup:\n>\n> We have 10+ nodes caching a few repositories, the repos were\n> originally cloned via git 1.8.2.1 with `git clone --mirror <repo>`\n>\n> We have 3000+ nodes that take deploys using the git protocol, via `git\n> fetch`, the existing repositories were also cloned via git 1.8.2.1\n> from the caching nodes.\n>\n> When we upgraded to 2.8.0, all nodes received the upgrade.\n>\n> We observed that when we tried to deploy code to the nodes (they run\n> `git fetch` to update the repository) this would fail.\n>\n> The fix: we deleted the repositories originally cloned via git\n> 1.8.2.1, and did a `git clone <repo>` dropping a fresh repository that\n> was cloned using git 2.8.0. Everything started working correctly. Our\n> running theory here is that there was some incompatibility with the\n> repositories cloned with the old version of git, and trying to run\n> `git fetch` with the newest version of git.\n\nDo you still have an old repository?\nYou could compare a new and old repository with e.g. meld\nto see if there are differences you don't expect.\n\nAlthough 1.8..2.8 is a lot, Git ought to stay compatible there.\n\nThanks,\nStefan\n\n>\n>\n> Thanks,\n> Gennaro\n> --\n> To unsubscribe from this list: send the line \"unsubscribe git\" in\n> the body of a message to majordomo@vger.kernel.org\n> More majordomo info at  http://vger.kernel.org/majordomo-info.html\n"},{"id":"284211","messageId":"xmqq37qdntew.fsf@gitster.mtv.corp.google.com","threadId":"42117","inReplyTo":"CAGZ79kYt_D7F3Uq_bhDpJa6Hnc1xfazhU1oree_nM0xbgROqsQ@mail.gmail.com","subject":"Re: issue upgrading git from 1.8.2.1 to 2.8.0","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2016-04-22T22:57:27Z","receivedAt":"2016-04-22T22:57:27Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Stefan Beller <sbeller@google.com> writes:\n\n> Although 1.8..2.8 is a lot, Git ought to stay compatible there.\n\nIn principle that is true, but there were deliberate backward\nincompatible changes at around 2.0 boundary, and those who followed\nalong the upgrade paths were given warnings and advice messages to\nguide them to adjust their configurations during the incremental\nupgrade path.  It is not all that surprising if somebody who jumped\nbetween the two versions in one hop didn't benefit from any such\nguidance, though.\n\nOffhand, perhaps .git/config left by ancient versions and recent\nversions may differ in such a way that it affects the particular\nworkflow deployed there?\n"},{"id":"284212","messageId":"20160422231452.GA10905@sigill.intra.peff.net","threadId":"42117","inReplyTo":"CA+UAp04e9-CcUJ+2fheHGw1q6MS6smyHhvyw34NeoT7HbKgnnQ@mail.gmail.com","subject":"Re: issue upgrading git from 1.8.2.1 to 2.8.0","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2016-04-22T23:14:52Z","receivedAt":"2016-04-22T23:14:52Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Fri, Apr 22, 2016 at 06:44:02PM -0400, Gennaro Torre wrote:\n\n> When we upgraded to 2.8.0, all nodes received the upgrade.\n> \n> We observed that when we tried to deploy code to the nodes (they run\n> `git fetch` to update the repository) this would fail.\n\nDid `git fetch` say anything interesting on stderr?\n\n-Peff\n"},{"id":"284222","messageId":"20160423051116.GA21390@sigill.intra.peff.net","threadId":"42117","inReplyTo":"CA+UAp06YMrVY8rK3jzWtLB=Zo8F=GTLQByYD-xR8+Lj=3=_hqg@mail.gmail.com","subject":"Re: issue upgrading git from 1.8.2.1 to 2.8.0","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2016-04-23T05:11:16Z","receivedAt":"2016-04-23T05:11:16Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Sat, Apr 23, 2016 at 01:01:06AM -0400, Gennaro Torre wrote:\n\n> @Jeff King nope nothing interesting, it just hangs:\n> \n> [gtorre@host1 A:DEVEL tumblr.old]$ git fetch -vv\n> Looking up <cache> ... done.\n> Connecting to <cache> (port 9418) ... <ip> done.\n> Server supports multi_ack_detailed\n> Server supports side-band-64k\n> Server supports ofs-delta\n> Server version is git/2.8.0\n\nHmm.  If you run with GIT_TRACE_PACKET=1, that may give an indication of\nwhy it is hanging. Or perhaps tracing via gdb to see where we are when\nit hangs.\n\n-Peff\n"},{"id":"284223","messageId":"20160423052208.GA25325@sigill.intra.peff.net","threadId":"42117","inReplyTo":"CA+UAp04M+jxS1JBPuz78GovopKSjvgkEdOj2DYG6wF7inasvWA@mail.gmail.com","subject":"Re: issue upgrading git from 1.8.2.1 to 2.8.0","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2016-04-23T05:22:08Z","receivedAt":"2016-04-23T05:22:08Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Sat, Apr 23, 2016 at 01:18:50AM -0400, Gennaro Torre wrote:\n\n> This is what I see:\n> \n> 01:16:15.789969 pkt-line.c:80           packet:        fetch>\n> git-upload-pack /tumblr.git\\0host=<cache>\\0\n> 01:16:15.851231 pkt-line.c:80           packet:        fetch<\n> a210029455476c3ae0d34748aeaeccf71864fd81 HEAD\\0multi_ack thin-pack\n> side-band side-band-64k ofs-delta shallow no-progress include-tag\n> multi_ack_detailed symref=HEAD:refs/heads/master agent=git/2.8.0\n> 01:16:15.851433 pkt-line.c:80           packet:        fetch<\n> 511b1feab8d10b81777a75c02dabc94c7da9e0d4 refs/heads/263-fix\n> .....\n> 01:17:59.497259 pkt-line.c:80           packet:        fetch<\n> cd63ca15d47b469e692faea2e04f32a241a6637a refs/tags/hotposts_v0.1\n> 01:17:59.497265 pkt-line.c:80           packet:        fetch<\n> 4749ee8a11ca093928c8a43fb0147d22177f1d71 refs/tags/hotposts_v0.1^{}\n> 01:17:59.497282 pkt-line.c:80           packet:        fetch< 0000\n> Server supports multi_ack_detailed\n> Server supports side-band-64k\n> Server supports ofs-delta\n> Server version is git/2.8.0\n\nSo that's weird. The client gets the initial ref advertisement and\nthen...does nothing? It should drop into find_common() and start sending\nwant/have lines to the server (or decide it doesn't need any objects and\nimmediately send a flush packet).\n\nIs the client chewing any CPU, or otherwise doing anything according to\n\"strace\"? Is it possible to connect to it with gdb and get a backtrace?\n\n-Peff\n"}]}