On Mon, 4 Feb 2019 at 23:28, Jeff King <peff@xxxxxxxx> wrote: > > 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! > > 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