On Thu, Oct 29, 2020 at 4:53 PM Daniel Duvall <dan@xxxxxxxxx> wrote: > > Hi there, > > I noticed while debugging an issue in Phabricator where shallow git > fetches over HTTP were failing with 500 errors that `git-http-backend` > seemed to exit abnormally after the first request even though the > response was otherwise correct—and when the error is not surfaced to > the client, the packfile negotiation via `git-remote-curl` seems to > continue normally.[1] > > I think this patch fixes the issue by having `upload-pack` gently > handle EOFs at a specific point in negotiation—after shallow/unshallow > lines have been returned to the client (followed by flush) but before > the client sends its haves. > > This is my first contribution here so hopefully I'm understanding the > packfile negotiation protocol correctly and included my test in the > right place. Have you read Documentation/SubmittingPatches? It has some guidelines (like submitting patches inline, rather than as attachments) you'll want to ensure you've followed. > > Kindly, > Daniel > > [1] https://discourse.phabricator-community.org/t/git-fetches-with-depth-over-http-results-in-500-errors/4317