On 18/05/21 15.11, Jeff King wrote:
In practice I think it's an unlikely failure mode for a server you partial-cloned from to turn off filters, so it's probably not that important. I hit it because a test script used test_config to enable them, and then the follow-on test I added to run git-fetch got quite confused. A more likely scenario is that you might see it a misconfigured load-balanced pool of servers. I do wonder how hitting a third-party server should work, though. E.g., I partial clone from A, and then ask B to fetch some related history built on top. Do I tell B that I'm a partial clone and might be missing some objects? Or do I behave as normal, and expect to fault in objects that it assumes I have (e.g., a delta base)? And if the latter, does that work (if it does, then why doesn't the same logic kick in for this fetch?).
My server is running Gitea (compiled from main branch [1]). The server itself runs Git 2.31.1. I can also reproduce the issue using Jeff's test case [2] without Gitea. So this is not Gitea's issue, this is Git's issue. Even my server setup is just application server + separate database server and not load-balanced pool ones. [1]: https://github.com/go-gitea/gitea/tree/main [2]: https://lore.kernel.org/git/YJz4JTsFjTtL7mE2@xxxxxxxxxxxxxxxxxxxxxxx/ -- An old man doll... just what I always wanted! - Clara