Re: [PATCH v2 1/6] fetch-pack: refactor packet writing
From: Peijian Ju <hidden>
Date: 2024-09-25 20:43:09
On Tue, Sep 24, 2024 at 7:45 AM Christian Couder [off-list ref] wrote:
On Sat, Jul 20, 2024 at 5:43 AM Eric Ju [off-list ref] wrote:quoted
From: Calvin Wan <redacted> A subsequent patch needs to write capabilities for another command. Refactor write_fetch_command_and_capabilities() to be a more general purpose function write_command_and_capabilities(), so that it can be used by both fetch and future command. Here "command" means the "operations" supported by Git’s wire protocol https://git-scm.com/docs/protocol-v2. An example would be a git's subcommand, such as git-fetch(1); or an operation supported by the server side such as "object-info" implemented in "a2ba162cda (object-info: support for retrieving object info, 2021-04-20)".I agree that reusing or refactoring the new write_command_and_capabilities() function for more commands can be done in a separate series that could perhaps also move the new function to Maybe this could be added to the commit message though.
Thank you, I am adding this to the commit message, "In a future separate series, we can move write_command_and_capabilities() to a higher-level file, such as connect.c, so that it becomes accessible to other commands."
[...]quoted
-static void write_fetch_command_and_capabilities(struct strbuf *req_buf, - const struct string_list *server_options) +static void write_command_and_capabilities(struct strbuf *req_buf, + const struct string_list *server_options, const char* command)In https://lore.kernel.org/git/xmqqfsn0qsi4.fsf@gitster.g/ (local) Junio suggested swaping the "command" and "server_options" arguments as well as sticking the "*" to "command" instead of "char", so: static void write_command_and_capabilities(struct strbuf *req_buf, const char *command, const struct string_list *server_options) The rest of the patch looks good.
Thank you. The format is changed in V3.