fixup! submodule: prevent overwriting .gitmodules on path reuse

This commit is contained in:
Junio C Hamano
2025-07-24 13:44:24 -07:00
parent bb10dcf573
commit 9305027ade
2 changed files with 4 additions and 4 deletions

View File

@@ -3459,7 +3459,6 @@ static int module_add(int argc, const char **argv, const char *prefix,
char *to_free = NULL;
const struct submodule *existing;
struct strbuf buf = STRBUF_INIT;
int i;
char *sm_name_to_free = NULL;
struct option options[] = {
OPT_STRING('b', "branch", &add_data.branch, N_("branch"),
@@ -3573,7 +3572,7 @@ static int module_add(int argc, const char **argv, const char *prefix,
add_data.sm_name, existing->path);
}
/* --force: build <name><n> until unique */
for (i = 1; ; i++) {
for (int i = 1; ; i++) {
strbuf_reset(&buf);
strbuf_addf(&buf, "%s%d", add_data.sm_name, i);
if (!submodule_from_name(the_repository,

View File

@@ -1500,7 +1500,8 @@ test_expect_success 'submodule add fails when name is reused' '
# Now adding a *new* repo at the old name must fail
git init ../child2-origin &&
git -C ../child2-origin commit --allow-empty -m init &&
test_must_fail git submodule add ../child2-origin child
test_must_fail git submodule add ../child2-origin child 2>err &&
test_grep "already used for" err
)
'