blob: 2f5f41a012b5f6e38f2b9d631a99648ac8937c2d [file] [log] [blame]
Linus Torvalds1211be62007-08-17 09:56:54 -07001#!/bin/sh
2
3test_description='fetching and pushing project with subproject'
4
5. ./test-lib.sh
6
7test_expect_success setup '
8 test_tick &&
9 mkdir -p sub && (
10 cd sub &&
11 git init &&
12 >subfile &&
Jonathan Niedera48fcd82010-10-30 20:46:54 -050013 git add subfile &&
Linus Torvalds1211be62007-08-17 09:56:54 -070014 git commit -m "subproject commit #1"
15 ) &&
Jonathan Niedera48fcd82010-10-30 20:46:54 -050016 >mainfile &&
Linus Torvalds1211be62007-08-17 09:56:54 -070017 git add sub mainfile &&
18 test_tick &&
19 git commit -m "superproject commit #1"
20'
21
22test_expect_success clone '
Bryan Donlanf69e8362008-05-04 01:37:59 -040023 git clone "file://$(pwd)/.git" cloned &&
Linus Torvalds1211be62007-08-17 09:56:54 -070024 (git rev-parse HEAD; git ls-files -s) >expected &&
25 (
26 cd cloned &&
27 (git rev-parse HEAD; git ls-files -s) >../actual
28 ) &&
Jeff King82ebb0b2008-03-12 17:36:36 -040029 test_cmp expected actual
Linus Torvalds1211be62007-08-17 09:56:54 -070030'
31
32test_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"
40'
41
42test_expect_success fetch '
43 (git rev-parse HEAD; git ls-files -s) >expected &&
44 (
45 cd cloned &&
46 git pull &&
47 (git rev-parse HEAD; git ls-files -s) >../actual
48 ) &&
Jeff King82ebb0b2008-03-12 17:36:36 -040049 test_cmp expected actual
Linus Torvalds1211be62007-08-17 09:56:54 -070050'
51
52test_done