From: Bagas Sanjaya Date: Tue, 02 Mar 2021 06:55:27 GMT Subject: Re: Argument list too long when fetching many missing objects from partial clone Message-ID: In-Reply-To: After trying your suggestion, I now get: error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413 fatal: unable to write request to remote: Broken pipe On 02/03/21 02.22, Bryan Turner wrote: > On Mon, Mar 1, 2021 at 5:20 AM Bagas Sanjaya wrote: >> >> Thank you for filling out a Git bug report! >> Please answer the following questions to help us understand your issue. >> >> What did you do before the bug happened? (Steps to reproduce your issue) >> >> I'm poking around with partial clone. On my local server on my computer >> I have full clone of Git (git.git) repo. >> >> I do partial clone from that server as remote (which is actually on the same >> computer): >> >> git clone https://my-local-server.git/myself/git.git --filter=blob:none >> >> Inside the partial clone, I tried to convert it to full clone. First, I gather >> list of missing objects: >> >> git rev-list --objects --all --missing=print | grep -oP '^\?\K\w+' > .git/missing.list >> >> Then I fetched those: >> >> git fetch origin $(cat .git/missing.list) > > Since you're on Git 2.30, instead of trying to place all the object > IDs on the `git fetch` command line, have you tried adding `--stdin` > and having it read from your `missing.list` directly? Something like > `git fetch --stdin origin <.git/missing.list` might do what you need. > >> >> What did you expect to happen? (Expected behavior) >> >> All missing objects fetched successfully >> >> What happened instead? (Actual behavior) >> >> Git returned: >> >> -bash: /opt/git/bin/git: Argument list too long >> >> What's different between what you expected and what actually happened? >> >> (nothing) >> >> Anything else you want to add: >> >> I think the problem lies on how to feed list of 110K+ objects to `git fetch`. >> >> Note: Both the local server and the computer use Git 2.30.1 >> >> Please review the rest of the bug report below. >> You can delete any lines you don't wish to share. >> >> [System Info] >> git version: >> git version 2.30.1 >> cpu: x86_64 >> built from commit: 773e25afc41b1b6533fa9ae2cd825d0b4a697fad >> sizeof-long: 8 >> sizeof-size_t: 8 >> shell-path: /bin/sh >> uname: Linux 5.10.11-kernelorg-upstream-generic #1 SMP Fri Jan 29 12:56:19 WIB 2021 x86_64 >> compiler info: gnuc: 9.3 >> libc info: glibc: 2.31 >> $SHELL (typically, interactive shell): /bin/bash >> >> [Enabled Hooks] >> (none) >> >> -- >> An old man doll... just what I always wanted! - Clara -- An old man doll... just what I always wanted! - Clara