{"thread":{"id":"30264","subject":"git-push sent too many objects","startedAt":"2012-04-17T16:53:27Z","lastAt":"2012-04-27T00:41:53Z","messageCount":5,"participants":["Mark Jason Dominus","Shawn Pearce","Jeff King"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"189534","messageId":"30586.1334681607@plover.com","threadId":"30264","inReplyTo":null,"subject":"git-push sent too many objects","fromName":"Mark Jason Dominus","fromEmail":"mjd@plover.com","sentAt":"2012-04-17T16:53:27Z","receivedAt":"2012-04-17T16:53:27Z","isPatch":false,"sender":{"key":"mjd@plover.com","avatar":"https://gravatar.com/avatar/a874d23a21a54fc9c5e9d91614219a150bd89c90c1cb0ef970e689f5b88c098b?d=mp&s=160"},"body":"\nI had a master ref, pointing to commit 231e284, which I branched to\nmake a \"coupon\" ref.  My remote, \"origin\" had a copy of commit \n231e284.\n\nI modified one file and committed it on \"coupon\", yielding commit\n03b6489. Then I pushed coupon to origin.  I expected that git-push\nwould send about five objects, but instead it reported sending 1,315.\n\nCommand output is pasted at http://nopaste.info/a866bb00e0.html .\nYou can verify that:\n\n1. I pushed only coupon, not any other ref.\n2. origin already had a copy of coupon's predecessor commit, 231e284.\n3. 03b6489 was identical to 231e284 except for changes in one file.\n4. I was not doing anything obviously strange.\n\nWhat happened here?  Why did git-push send 1,315 objects instead of 5?\n\nMark Jason Dominus \t  \t\t\t                 mjd@plover.com\n"},{"id":"189607","messageId":"CAJo=hJuGHymJtZL14mAq0gBZE+za5URoon=rMzPA=tTQC14ftQ@mail.gmail.com","threadId":"30264","inReplyTo":"30586.1334681607@plover.com","subject":"Re: git-push sent too many objects","fromName":"Shawn Pearce","fromEmail":"spearce@spearce.org","sentAt":"2012-04-18T07:59:14Z","receivedAt":"2012-04-18T07:59:14Z","isPatch":false,"sender":{"key":"spearce@spearce.org","avatar":"https://avatars.githubusercontent.com/u/34844?v=4"},"body":"On Tue, Apr 17, 2012 at 09:53, Mark Jason Dominus <mjd@plover.com> wrote:\n>\n> I had a master ref, pointing to commit 231e284, which I branched to\n> make a \"coupon\" ref.  My remote, \"origin\" had a copy of commit\n> 231e284.\n>\n> I modified one file and committed it on \"coupon\", yielding commit\n> 03b6489. Then I pushed coupon to origin.  I expected that git-push\n> would send about five objects, but instead it reported sending 1,315.\n>\n> Command output is pasted at http://nopaste.info/a866bb00e0.html .\n> You can verify that:\n>\n> 1. I pushed only coupon, not any other ref.\n> 2. origin already had a copy of coupon's predecessor commit, 231e284.\n> 3. 03b6489 was identical to 231e284 except for changes in one file.\n> 4. I was not doing anything obviously strange.\n>\n> What happened here?  Why did git-push send 1,315 objects instead of 5?\n\nIs it possible someone else modified the repository at the same time?\n\nWe see this happen when the remote no longer has a branch pointing\nexactly at commit 231e284, because another user (or you in another\nshell?) had pushed a new commit to that branch before you pushed this\nnew coupon branch. In these sorts of cases your Git client can't\naccurately determine what the server has and does not have, so it errs\non the conservative side and sends a lot more than it probably needed\nto.\n"},{"id":"189631","messageId":"15053.1334758946@plover.com","threadId":"30264","inReplyTo":"CAJo=hJuGHymJtZL14mAq0gBZE+za5URoon=rMzPA=tTQC14ftQ@mail.gmail.com","subject":"Re: git-push sent too many objects","fromName":"Mark Jason Dominus","fromEmail":"mjd@plover.com","sentAt":"2012-04-18T14:22:26Z","receivedAt":"2012-04-18T14:22:26Z","isPatch":false,"sender":{"key":"mjd@plover.com","avatar":"https://gravatar.com/avatar/a874d23a21a54fc9c5e9d91614219a150bd89c90c1cb0ef970e689f5b88c098b?d=mp&s=160"},"body":"Shawn Pearce:\n> On Tue, Apr 17, 2012 at 09:53, Mark Jason Dominus <mjd@plover.com> wrote:\n> > What happened here? =A0Why did git-push send 1,315 objects instead of 5?\n> \n> Is it possible someone else modified the repository at the same time?\n\nIt is extremely unlikely. This repository is controlled by gitolite\nand I am the only person who has push access to it. Also, although my\npaste doesn't show it, the repository's master reference had not\nmoved.\n\nI should have mentioned my git version in my original message: it is\n1.7.10.rc0.1.g6fd18 .\n"},{"id":"190110","messageId":"20120426130717.GB27785@sigill.intra.peff.net","threadId":"30264","inReplyTo":"15053.1334758946@plover.com","subject":"Re: git-push sent too many objects","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2012-04-26T13:07:17Z","receivedAt":"2012-04-26T13:07:17Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Wed, Apr 18, 2012 at 10:22:26AM -0400, Mark Jason Dominus wrote:\n\n> Shawn Pearce:\n> > On Tue, Apr 17, 2012 at 09:53, Mark Jason Dominus <mjd@plover.com> wrote:\n> > > What happened here? =A0Why did git-push send 1,315 objects instead of 5?\n> > \n> > Is it possible someone else modified the repository at the same time?\n> \n> It is extremely unlikely. This repository is controlled by gitolite\n> and I am the only person who has push access to it. Also, although my\n> paste doesn't show it, the repository's master reference had not\n> moved.\n\nIs the repository public? I can't reproduce the issue on a trivial test\ncase, but it might be possible to create the original state of the\nclient and server repos with judicious use of \"reset\" and \"prune\".\nIf we can get a reliable case, then running with GIT_TRACE_PACKET will\nshow the commit negotiation that we go through.\n\n-Peff\n"},{"id":"190190","messageId":"5097.1335487313@plover.com","threadId":"30264","inReplyTo":"20120426130717.GB27785@sigill.intra.peff.net","subject":"Re: git-push sent too many objects","fromName":"Mark Jason Dominus","fromEmail":"mjd@plover.com","sentAt":"2012-04-27T00:41:53Z","receivedAt":"2012-04-27T00:41:53Z","isPatch":false,"sender":{"key":"mjd@plover.com","avatar":"https://gravatar.com/avatar/a874d23a21a54fc9c5e9d91614219a150bd89c90c1cb0ef970e689f5b88c098b?d=mp&s=160"},"body":"Jeff King:\n> Is the repository public? I can't reproduce the issue on a trivial test\n> case, but it might be possible to create the original state of the\n> client and server repos with judicious use of \"reset\" and \"prune\".\n\nThe repository has been heavily used since I made the report. If I\nnotice the same behavior againb, I will try to capture the repo state\nfor investigation.\n"}]}