Re: [PATCH v2] protocol-v2.txt: align delim-pkt spec with usage
Calvin Wan <calvinwan@google.com> writes:
Show 10 quoted lines
> The current protocol EBNF allows command-request to end with the
> capability list, if no command specific arguments follow, but the
> protocol requires that after the capability list, there must be a
> delim-pkt regardless of the number of command specific arguments. Fixed
> the EBNF to match. Both JGit and libgit2's implementation has the
> delim-pkt as mandatory. JGit's code is not publicly linkable, but
> libgit2 is linked below[1]. As for currently implemented commands on v2
> (ls-ref and fetch), the delim packet is already being passed through
>
> [1]: https://github.com/libgit2/libgit2/blob/main/src/transports/git.c
Thanks for an extra level of research. Very much appreciated.
Will queue.
Show 28 quoted lines
>
> Reported-by: Ivan Frade <ifrade@google.com>
> Signed-off-by: Calvin Wan <calvinwan@google.com>
> ---
> Documentation/technical/protocol-v2.txt | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/technical/protocol-v2.txt b/Documentation/technical/protocol-v2.txt
> index 21e8258ccf..8a877d27e2 100644
> --- a/Documentation/technical/protocol-v2.txt
> +++ b/Documentation/technical/protocol-v2.txt
> @@ -125,11 +125,11 @@ command can be requested at a time.
> empty-request = flush-pkt
> command-request = command
> capability-list
> - [command-args]
> + delim-pkt
> + command-args
> flush-pkt
> command = PKT-LINE("command=" key LF)
> - command-args = delim-pkt
> - *command-specific-arg
> + command-args = *command-specific-arg
>
> command-specific-args are packet line framed arguments defined by
> each individual command.
>
> base-commit: e9e5ba39a78c8f5057262d49e261b42a8660d5b9