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://<myhost>/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: ...<skipped>
Receiving objects: 100% (64/64), 154.49 KiB | 2.97 MiB/s, done.
remote: ...<skipped>
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://<myhost>/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@xxxxxxxxxxxxxxxxxxxxxxxxx/
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