git.el: Make sure we never insert the same file twice.
[git/gitweb.git] / t / t3050-subprojects-fetch.sh
blob34f26a8d9ed809f07d1ae5eec847c2f0ac1d2b5e
1 #!/bin/sh
3 test_description='fetching and pushing project with subproject'
5 . ./test-lib.sh
7 test_expect_success setup '
8 test_tick &&
9 mkdir -p sub && (
10 cd sub &&
11 git init &&
12 >subfile &&
13 git add subfile
14 git commit -m "subproject commit #1"
15 ) &&
16 >mainfile
17 git add sub mainfile &&
18 test_tick &&
19 git commit -m "superproject commit #1"
22 test_expect_success clone '
23 git clone file://`pwd`/.git cloned &&
24 (git rev-parse HEAD; git ls-files -s) >expected &&
26 cd cloned &&
27 (git rev-parse HEAD; git ls-files -s) >../actual
28 ) &&
29 diff -u expected actual
32 test_expect_success advance '
33 echo more >mainfile &&
34 git update-index --force-remove sub &&
35 mv sub/.git sub/.git-disabled &&
36 git add sub/subfile mainfile &&
37 mv sub/.git-disabled sub/.git &&
38 test_tick &&
39 git commit -m "superproject commit #2"
42 test_expect_success fetch '
43 (git rev-parse HEAD; git ls-files -s) >expected &&
45 cd cloned &&
46 git pull &&
47 (git rev-parse HEAD; git ls-files -s) >../actual
48 ) &&
49 diff -u expected actual
52 test_done