transport: introduce parse_transport_option() method

Add the `parse_transport_option()` method to parse the `push.pushOption`
configuration. This method will also be used in the next commit to
handle the new `remote.<name>.serverOption` configuration for setting
server options in Git protocol v2.

Signed-off-by: Xing Xin <xingxin.xx@bytedance.com>
Reviewed-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Xing Xin
2024-10-08 03:38:15 +00:00
committed by Junio C Hamano
parent 777489f9e0
commit 06708ce180
3 changed files with 17 additions and 8 deletions

View File

@@ -1108,6 +1108,18 @@ int is_transport_allowed(const char *type, int from_user)
BUG("invalid protocol_allow_config type");
}
int parse_transport_option(const char *var, const char *value,
struct string_list *transport_options)
{
if (!value)
return config_error_nonbool(var);
if (!*value)
string_list_clear(transport_options, 0);
else
string_list_append(transport_options, value);
return 0;
}
void transport_check_allowed(const char *type)
{
if (!is_transport_allowed(type, -1))