# git-push sent too many objects

5 messages from 2012-04-17 to 2012-04-27. Participants: Mark Jason Dominus, Shawn Pearce, Jeff King.
Thread: https://gitlist.dev/t/30264

## Mark Jason Dominus, 2012-04-17 16:53

Subject: git-push sent too many objects
Message-ID: <30586.1334681607@plover.com>
URL: https://gitlist.dev/e/30586.1334681607%40plover.com

```

I had a master ref, pointing to commit 231e284, which I branched to
make a "coupon" ref.  My remote, "origin" had a copy of commit 
231e284.

I modified one file and committed it on "coupon", yielding commit
03b6489. Then I pushed coupon to origin.  I expected that git-push
would send about five objects, but instead it reported sending 1,315.

Command output is pasted at http://nopaste.info/a866bb00e0.html .
You can verify that:

1. I pushed only coupon, not any other ref.
2. origin already had a copy of coupon's predecessor commit, 231e284.
3. 03b6489 was identical to 231e284 except for changes in one file.
4. I was not doing anything obviously strange.

What happened here?  Why did git-push send 1,315 objects instead of 5?

Mark Jason Dominus 	  			                 mjd@plover.com

```

## Shawn Pearce, 2012-04-18 07:59

Subject: Re: git-push sent too many objects
Message-ID: <CAJo=hJuGHymJtZL14mAq0gBZE+za5URoon=rMzPA=tTQC14ftQ@mail.gmail.com>
URL: https://gitlist.dev/e/CAJo%3DhJuGHymJtZL14mAq0gBZE%2Bza5URoon%3DrMzPA%3DtTQC14ftQ%40mail.gmail.com
In-Reply-To: <30586.1334681607@plover.com>

```
On Tue, Apr 17, 2012 at 09:53, Mark Jason Dominus <mjd@plover.com> wrote:
>
> I had a master ref, pointing to commit 231e284, which I branched to
> make a "coupon" ref.  My remote, "origin" had a copy of commit
> 231e284.
>
> I modified one file and committed it on "coupon", yielding commit
> 03b6489. Then I pushed coupon to origin.  I expected that git-push
> would send about five objects, but instead it reported sending 1,315.
>
> Command output is pasted at http://nopaste.info/a866bb00e0.html .
> You can verify that:
>
> 1. I pushed only coupon, not any other ref.
> 2. origin already had a copy of coupon's predecessor commit, 231e284.
> 3. 03b6489 was identical to 231e284 except for changes in one file.
> 4. I was not doing anything obviously strange.
>
> What happened here?  Why did git-push send 1,315 objects instead of 5?

Is it possible someone else modified the repository at the same time?

We see this happen when the remote no longer has a branch pointing
exactly at commit 231e284, because another user (or you in another
shell?) had pushed a new commit to that branch before you pushed this
new coupon branch. In these sorts of cases your Git client can't
accurately determine what the server has and does not have, so it errs
on the conservative side and sends a lot more than it probably needed
to.

```

## Mark Jason Dominus, 2012-04-18 14:22

Subject: Re: git-push sent too many objects
Message-ID: <15053.1334758946@plover.com>
URL: https://gitlist.dev/e/15053.1334758946%40plover.com
In-Reply-To: <CAJo=hJuGHymJtZL14mAq0gBZE+za5URoon=rMzPA=tTQC14ftQ@mail.gmail.com>

```
Shawn Pearce:
> On Tue, Apr 17, 2012 at 09:53, Mark Jason Dominus <mjd@plover.com> wrote:
> > What happened here? =A0Why did git-push send 1,315 objects instead of 5?
> 
> Is it possible someone else modified the repository at the same time?

It is extremely unlikely. This repository is controlled by gitolite
and I am the only person who has push access to it. Also, although my
paste doesn't show it, the repository's master reference had not
moved.

I should have mentioned my git version in my original message: it is
1.7.10.rc0.1.g6fd18 .

```

## Jeff King, 2012-04-26 13:07

Subject: Re: git-push sent too many objects
Message-ID: <20120426130717.GB27785@sigill.intra.peff.net>
URL: https://gitlist.dev/e/20120426130717.GB27785%40sigill.intra.peff.net
In-Reply-To: <15053.1334758946@plover.com>

```
On Wed, Apr 18, 2012 at 10:22:26AM -0400, Mark Jason Dominus wrote:

> Shawn Pearce:
> > On Tue, Apr 17, 2012 at 09:53, Mark Jason Dominus <mjd@plover.com> wrote:
> > > What happened here? =A0Why did git-push send 1,315 objects instead of 5?
> > 
> > Is it possible someone else modified the repository at the same time?
> 
> It is extremely unlikely. This repository is controlled by gitolite
> and I am the only person who has push access to it. Also, although my
> paste doesn't show it, the repository's master reference had not
> moved.

Is the repository public? I can't reproduce the issue on a trivial test
case, but it might be possible to create the original state of the
client and server repos with judicious use of "reset" and "prune".
If we can get a reliable case, then running with GIT_TRACE_PACKET will
show the commit negotiation that we go through.

-Peff

```

## Mark Jason Dominus, 2012-04-27 00:41

Subject: Re: git-push sent too many objects
Message-ID: <5097.1335487313@plover.com>
URL: https://gitlist.dev/e/5097.1335487313%40plover.com
In-Reply-To: <20120426130717.GB27785@sigill.intra.peff.net>

```
Jeff King:
> Is the repository public? I can't reproduce the issue on a trivial test
> case, but it might be possible to create the original state of the
> client and server repos with judicious use of "reset" and "prune".

The repository has been heavily used since I made the report. If I
notice the same behavior againb, I will try to capture the repo state
for investigation.

```
