mirror of
https://github.com/git/git
synced 2024-10-01 06:05:20 +00:00
add: use advise_if_enabled for ADVICE_ADD_EMBEDDED_REPO
By following a similar reasoning as in previous commits, there are no
reason why we should not use the advise_if_enabled() API to display the
ADVICE_ADD_EMBEDDED_REPO advice.
This advice was introduced in 532139940c
(add: warn when adding an
embedded repository, 2017-06-14). Some tests were included in the
commit, but none is testing this advice. Which, note, we only want to
display once per run.
So, use the advise_if_enabled() machinery to show the
ADVICE_ADD_EMBEDDED_REPO advice and include a test to notice any
possible breakage.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Rubén Justo <rjusto@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
1028db00f7
commit
6412d01527
|
@ -310,9 +310,9 @@ static void check_embedded_repo(const char *path)
|
|||
strbuf_strip_suffix(&name, "/");
|
||||
|
||||
warning(_("adding embedded git repository: %s"), name.buf);
|
||||
if (!adviced_on_embedded_repo &&
|
||||
advice_enabled(ADVICE_ADD_EMBEDDED_REPO)) {
|
||||
advise(embedded_advice, name.buf, name.buf);
|
||||
if (!adviced_on_embedded_repo) {
|
||||
advise_if_enabled(ADVICE_ADD_EMBEDDED_REPO,
|
||||
embedded_advice, name.buf, name.buf);
|
||||
adviced_on_embedded_repo = 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -349,6 +349,40 @@ test_expect_success '"git add ." in empty repo' '
|
|||
)
|
||||
'
|
||||
|
||||
test_expect_success '"git add" a embedded repository' '
|
||||
rm -fr outer && git init outer &&
|
||||
(
|
||||
cd outer &&
|
||||
for i in 1 2
|
||||
do
|
||||
name=inner$i &&
|
||||
git init $name &&
|
||||
git -C $name commit --allow-empty -m $name ||
|
||||
return 1
|
||||
done &&
|
||||
git add . 2>actual &&
|
||||
cat >expect <<-EOF &&
|
||||
warning: adding embedded git repository: inner1
|
||||
hint: You${SQ}ve added another git repository inside your current repository.
|
||||
hint: Clones of the outer repository will not contain the contents of
|
||||
hint: the embedded repository and will not know how to obtain it.
|
||||
hint: If you meant to add a submodule, use:
|
||||
hint:
|
||||
hint: git submodule add <url> inner1
|
||||
hint:
|
||||
hint: If you added this path by mistake, you can remove it from the
|
||||
hint: index with:
|
||||
hint:
|
||||
hint: git rm --cached inner1
|
||||
hint:
|
||||
hint: See "git help submodule" for more information.
|
||||
hint: Disable this message with "git config advice.addEmbeddedRepo false"
|
||||
warning: adding embedded git repository: inner2
|
||||
EOF
|
||||
test_cmp expect actual
|
||||
)
|
||||
'
|
||||
|
||||
test_expect_success 'error on a repository with no commits' '
|
||||
rm -fr empty &&
|
||||
git init empty &&
|
||||
|
|
Loading…
Reference in a new issue