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)
|
||||
{
|
||||
int i;
|
||||
@ -85,16 +100,8 @@ static int check_submodules_use_gitfiles(void)
|
||||
if (!submodule_uses_gitfile(name))
|
||||
string_list_append(&files, name);
|
||||
}
|
||||
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);
|
||||
|
||||
error_removing_concrete_submodules(&files, &errs);
|
||||
|
||||
return errs;
|
||||
}
|
||||
@ -236,17 +243,9 @@ static int check_local_mod(unsigned char *head, int index_only)
|
||||
" or -f to force removal)"),
|
||||
&errs);
|
||||
string_list_clear(&files_cached, 0);
|
||||
print_error_files(&files_submodule,
|
||||
Q_("the following submodule (or one of its nested "
|
||||
"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);
|
||||
|
||||
error_removing_concrete_submodules(&files_submodule, &errs);
|
||||
|
||||
print_error_files(&files_local,
|
||||
Q_("the following file has local modifications:",
|
||||
"the following files have local modifications:",
|
||||
|
Loading…
Reference in New Issue
Block a user