From: Jeff King <peff@peff.net>
To: Matthias Fechner <idefix@fechner.net>
Cc: git@vger.kernel.org
Subject: Re: Cannot push a commit
Date: Mon, 16 Jan 2012 16:20:36 -0500 [thread overview]
Message-ID: <20120116212036.GA21132@sigill.intra.peff.net> (raw)
In-Reply-To: <4F1297E0.1060703@fechner.net>
On Sun, Jan 15, 2012 at 10:09:52AM +0100, Matthias Fechner wrote:
> git.exe push --progress "origin" master:master
>
> Counting objects: 4, done.
> Compressing objects: 100% (3/3)
> Writing objects: 100% (3/3), 80.00 KiB | 137 KiB/s
> Writing objects: 100% (3/3), 91.63 KiB | 137 KiB/s, done.
> Total 3 (delta 0), reused 0 (delta 0)
> fatal: early EOF
> error: unpack failed: unpack-objects abnormal exit
> To idefix@fechner.net:git-test
> ! [remote rejected] master -> master (n/a (unpacker error))
> error: failed to push some refs to 'idefix@fechner.net:git-test'
Odd. The unpacking process on the other end claims that it didn't get
the whole input (it knows how much to expect based on the earlier parts
of what is sent) . Yet the connection is still going (because we see the
error messages coming from the remote), so it wasn't simply that the
connection was dropped. So either:
1. Something in the connection cut out but only in a half-duplex way.
I guess I could see ssh doing that if its input pipe closed, but
that would mean the local pack-objects failed, and I believe git
already detects and reports that case.
2. The packfile sent indicated that it should have more bytes than it
does (i.e., either git indicated there were more objects than there
actually are, or zlib failed to give a stream-end marker in the
middle of an object). This is one of:
a. A bug in git or zlib.
b. Something in the connection corrupting the data (e.g., a
transport that is not 8-bit clean).
But in either 2a or 2b, I would expect us to have seen this before, and
I don't recall seeing anything like it.
You could try generating a bundle with this pack, like:
git bundle create foo.bundle master ^origin/master
and then shipping the resulting foo.bundle to the other side, and
pulling from it like:
git pull /path/to/foo.bundle master
That should use (roughly) the same pack generation code as the
push, but avoid the transport. If it works, then it's either a problem
with the transport, or there is something really subtle going on
inside git.
If it does fail, then that will be a much easier case to repeat and
diagnose from there.
-Peff
next prev parent reply other threads:[~2012-01-16 21:20 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-15 9:09 Cannot push a commit Matthias Fechner
2012-01-16 18:59 ` Matthias Fechner
2012-01-16 21:20 ` Jeff King [this message]
2012-01-17 7:35 ` Matthias Fechner
2012-01-18 18:25 ` Matthias Fechner
2012-01-19 2:09 ` Jeff King
2012-01-24 6:53 ` Matthias Fechner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120116212036.GA21132@sigill.intra.peff.net \
--to=peff@peff.net \
--cc=git@vger.kernel.org \
--cc=idefix@fechner.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).