summaryrefslogtreecommitdiffstats
path: root/t/t7414-submodule-mistakes.sh
blob: 24f30e3bf9c6440eca92838b42ae330a856f3fb6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/bin/sh

test_description='handling of common mistakes people may make with submodules'

TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh

test_expect_success 'create embedded repository' '
	git init embed &&
	test_commit -C embed one
'

test_expect_success 'git-add on embedded repository warns' '
	test_when_finished "git rm --cached -f embed" &&
	git add embed 2>stderr &&
	test_grep warning stderr
'

test_expect_success '--no-warn-embedded-repo suppresses warning' '
	test_when_finished "git rm --cached -f embed" &&
	git add --no-warn-embedded-repo embed 2>stderr &&
	test_grep ! warning stderr
'

test_expect_success 'no warning when updating entry' '
	test_when_finished "git rm --cached -f embed" &&
	git add embed &&
	git -C embed commit --allow-empty -m two &&
	git add embed 2>stderr &&
	test_grep ! warning stderr
'

test_expect_success 'submodule add does not warn' '
	test_when_finished "git rm -rf submodule .gitmodules" &&
	git -c protocol.file.allow=always \
		submodule add ./embed submodule 2>stderr &&
	test_grep ! warning stderr
'

test_done