git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Partial clone - bad pack header?

From
Luke Diamand <luke@diamand.org>
Date
Feb 5, 2019, 10:14 UTC
Message-ID
<CAE5ih7-8Z6r1yrRMZN24wEoOqz_S=63HGg9RkNyYXhbXFgh1Fg@mail.gmail.com>
In-Reply-To
<20190204232844.GA2366@sigill.intra.peff.net>
On Mon, 4 Feb 2019 at 23:28, Jeff King <peff@peff.net> wrote:
Show 23 quoted lines
>
> On Mon, Feb 04, 2019 at 01:45:35PM +0000, Luke Diamand wrote:
>
> > I tried to do a partial clone, but it gave me a "bad pack header". Is
> > there anything I can do to debug this?
> >
> > I did "git config uploadpack.allowfilter true" in my repo.
> > Then I went to a scratch directory and did:
> > $ git clone --filter=blob:limit=10M ssh://localhost/~/git/my_big_repo
> > remote: Enumerating objects: 1619425, done.
> > remote: Counting objects: 100% (1619425/1619425), done.
> > remote: Compressing objects: 100% (362435/362435), done.
> > remote: Total 1619425 (delta 1225623), reused 1604277 (delta 1211975)
> > Receiving objects: 100% (1619425/1619425), 10.34 GiB | 35.61 MiB/s, done.
> > Resolving deltas: 100% (1225623/1225623), done.
> > Note: checking out 'a943f529b4781f34602f1ad5aab99a8699975c29'.
> > [...]
> > fatal: the remote end hung up unexpectedly
> > fatal: protocol error: bad pack header
> > warning: Clone succeeded, but checkout failed.
>
> Just a guess, but does setting uploadpack.allowAnySHA1InWant to "true"
> in the source repo help?
That's a very good guess - it works a treat with that!
Show 8 quoted lines
>
> By default, upload-pack will not allow the client to request those
> arbitrary blob sha1s. I thought it was _supposed_ to notice this and
> complain with a nice error message, but I know I have run into cases in
> the past where it does not (but never tracked it down -- this may well
> be one of them).
>
> -Peff
Previous: Jeff King
Message 3 of 3 in “Partial clone - bad pack header?”
  1. Luke DiamandFeb 4, 2019
  2. Jeff KingFeb 4, 2019
  3. Luke DiamandFeb 5, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.