builtin/rm.c: consolidate error reporting for removing submodules
We have two (not identical) copies of error reporting when attempting to remove submodules that have their repositories embedded within them. Add a helper function so that we do not have to repeat similar error messages with subtly different wording without a good reason. Noticed by Jiang Xin. Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
914dc0289d
commit
658ff473cf
41
builtin/rm.c
41
builtin/rm.c
@ -57,6 +57,21 @@ static void print_error_files(struct string_list *files_list,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void error_removing_concrete_submodules(struct string_list *files, int *errs)
|
||||||
|
{
|
||||||
|
print_error_files(files,
|
||||||
|
Q_("the following submodule (or one of its nested "
|
||||||
|
"submodules)\n"
|
||||||
|
"uses a .git directory:",
|
||||||
|
"the following submodules (or one of its nested "
|
||||||
|
"submodules)\n"
|
||||||
|
"use a .git directory:", files->nr),
|
||||||
|
_("\n(use 'rm -rf' if you really want to remove "
|
||||||
|
"it including all of its history)"),
|
||||||
|
errs);
|
||||||
|
string_list_clear(files, 0);
|
||||||
|
}
|
||||||
|
|
||||||
static int check_submodules_use_gitfiles(void)
|
static int check_submodules_use_gitfiles(void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@ -85,16 +100,8 @@ static int check_submodules_use_gitfiles(void)
|
|||||||
if (!submodule_uses_gitfile(name))
|
if (!submodule_uses_gitfile(name))
|
||||||
string_list_append(&files, name);
|
string_list_append(&files, name);
|
||||||
}
|
}
|
||||||
print_error_files(&files,
|
|
||||||
Q_("the following submodule (or one of its nested "
|
error_removing_concrete_submodules(&files, &errs);
|
||||||
"submodules)\n uses a .git directory:",
|
|
||||||
"the following submodules (or one of its nested "
|
|
||||||
"submodules)\n use a .git directory:",
|
|
||||||
files.nr),
|
|
||||||
_("\n(use 'rm -rf' if you really want to remove "
|
|
||||||
"it including all of its history)"),
|
|
||||||
&errs);
|
|
||||||
string_list_clear(&files, 0);
|
|
||||||
|
|
||||||
return errs;
|
return errs;
|
||||||
}
|
}
|
||||||
@ -236,17 +243,9 @@ static int check_local_mod(unsigned char *head, int index_only)
|
|||||||
" or -f to force removal)"),
|
" or -f to force removal)"),
|
||||||
&errs);
|
&errs);
|
||||||
string_list_clear(&files_cached, 0);
|
string_list_clear(&files_cached, 0);
|
||||||
print_error_files(&files_submodule,
|
|
||||||
Q_("the following submodule (or one of its nested "
|
error_removing_concrete_submodules(&files_submodule, &errs);
|
||||||
"submodule)\nuses a .git directory:",
|
|
||||||
"the following submodules (or one of its nested "
|
|
||||||
"submodule)\nuse a .git directory:",
|
|
||||||
files_submodule.nr),
|
|
||||||
_("\n(use 'rm -rf' if you really "
|
|
||||||
"want to remove it including all "
|
|
||||||
"of its history)"),
|
|
||||||
&errs);
|
|
||||||
string_list_clear(&files_submodule, 0);
|
|
||||||
print_error_files(&files_local,
|
print_error_files(&files_local,
|
||||||
Q_("the following file has local modifications:",
|
Q_("the following file has local modifications:",
|
||||||
"the following files have local modifications:",
|
"the following files have local modifications:",
|
||||||
|
Loading…
Reference in New Issue
Block a user