bug in HTTP protocol spec
- From
Dorian Taylor <dorian.taylor.lists@gmail.com>
- Date
- Feb 21, 2018, 18:29 UTC
- Message-ID
- <4F85B1C3-9B5B-4D7C-8907-B728C18A70CD@gmail.com>
Hello list,
I had been banging my head all morning trying to figure out why I couldn’t get a little HTTP implementation to clone/push via the smart protocol (just wrapping git-receive-pack/git-upload-pack). I kept getting the following (likely familiar to some) error:
``` fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists. ```
I didn’t get an insight until I ran with GIT_TRACE_PACKET=true on a known-good remote (i.e. GitHub), that the null packet-line `0000` has to follow the service line. This is not reflected in the example here:
https://github.com/git/git/blob/6464679d9620d91b639e2681b9cc6473f3856d09/Documentation/technical/http-protocol.txt#L216
It is also not reflected in the BNF:
https://github.com/git/git/blob/6464679d9620d91b639e2681b9cc6473f3856d09/Documentation/technical/http-protocol.txt#L279
(Note these links are from the most recent commit of this file as of this writing.)
Just thought somebody would like to know.
Regards,
-- Dorian Taylor Make things. Make sense. https://doriantaylor.com