From: Jeff Hostetler Date: Tue, 11 May 2021 18:44:52 GMT Subject: Re: "bad revision" fetch error when fetching missing objects from partial clones Message-ID: In-Reply-To: <6422f505-29c4-bee9-e28c-b77dd831c246@gmail.com> On 5/7/21 8:56 AM, Bagas Sanjaya wrote: > Hi, > > I have a copy of Gitea application repository [1] on my local Git > server on my computer. I was playing with partial clones using that > repository as remote. > > I began with blobless clone the repo by: > > $ git clone https:///bagas/gitea.git gitea --filter=blob:none > > Then I tried to fetch missing objects. First, I gathered list of them: > > $ git rev-list --objects --all --missing=print | grep -o -P '^\?\K\w+' > > .git/missing.list > > I had asked how to properly fetch objects from the list above before on > this list, and brian m. carlson (CC'ed) suggested [2] that I should > use xargs: > > $ xargs git fetch origin < .git/missing.list > > I expected that I received all missing objects. However, the error message > I got was something like below, repeated: > >> remote: ... >> Receiving objects: 100% (64/64), 154.49 KiB | 2.97 MiB/s, done. >> remote: ... >> Receiving objects: 100% (37/37), 168.35 KiB | 4.95 MiB/s, done. >> Resolving deltas: 100% (5/5), done. >> Resolving deltas: 100% (49/49), completed with 47 local objects. >> fatal: bad revision 'd5e9cd36ab21839af3d116eff3221c53f6ca7fd6' >> error: https:///bagas/gitea.git did not send all necessary >> objects > > Then I repeated the object list gathering and fetching above, and the error > still occured. Even I tried fetching only one of problematic object above > and still errored. > > When I inspected that object with `git cat-file -p` from my other, full > clone version (which I used for submitting changes upstream), the object > is properly displayed (in this case as source code in Go). > > Note that I have uploadpack.allowfilter=true config on the server. > > Am I missing something? > > [1]: https://github.com/go-gitea/gitea > [2]: > https://lore.kernel.org/git/YD7bczBsIR5rkqfc@camp.crustytoothpaste.net/ > I'm not sure why you're getting that error, but you might also try enabling `uploadpack.allowAnySHA1InWant` (or one of the other "allow*SHS1InWant" values) and see if that helps. https://git-scm.com/docs/git-config#Documentation/git-config.txt-uploadpackallowAnySHA1InWant Jeff