Re: "bad revision" fetch error when fetching missing objects from partial clones
- From
Bagas Sanjaya <bagasdotme@gmail.com>
- Date
- May 18, 2021, 10:14 UTC
- Message-ID
- <1bedacfb-2b03-85e6-71d6-0f64fab68bbc@gmail.com>
- In-Reply-To
- <YKN2vT+zi/N6jUAN@coredump.intra.peff.net>
On 18/05/21 15.11, Jeff King wrote:
Show 15 quoted lines
> 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@coredump.intra.peff.net/
-- An old man doll... just what I always wanted! - Clara