Web lists-archives.com

Re: Partial clone - bad pack header?

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?

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).