Git 2.18.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Junio C Hamano
2020-03-17 13:34:12 -07:00
10 changed files with 122 additions and 7 deletions

16
fsck.c
View File

@ -14,6 +14,7 @@
#include "packfile.h"
#include "submodule-config.h"
#include "config.h"
#include "credential.h"
static struct oidset gitmodules_found = OIDSET_INIT;
static struct oidset gitmodules_done = OIDSET_INIT;
@ -945,6 +946,19 @@ static int fsck_tag(struct tag *tag, const char *data,
return fsck_tag_buffer(tag, data, size, options);
}
static int check_submodule_url(const char *url)
{
struct credential c = CREDENTIAL_INIT;
int ret;
if (looks_like_command_line_option(url))
return -1;
ret = credential_from_url_gently(&c, url, 1);
credential_clear(&c);
return ret;
}
struct fsck_gitmodules_data {
struct object *obj;
struct fsck_options *options;
@ -969,7 +983,7 @@ static int fsck_gitmodules_fn(const char *var, const char *value, void *vdata)
"disallowed submodule name: %s",
name);
if (!strcmp(key, "url") && value &&
looks_like_command_line_option(value))
check_submodule_url(value) < 0)
data->ret |= report(data->options, data->obj,
FSCK_MSG_GITMODULES_URL,
"disallowed submodule url: %s",