@@ -8,74 +8,76 @@ test_description='test clone --reference'
88
99base_dir=$( pwd)
1010
11- U=$base_dir /UPLOAD_LOG
12-
13- test_expect_success ' preparing first repository' \
14- ' test_create_repo A && cd A &&
15- echo first > file1 &&
16- git add file1 &&
17- git commit -m A-initial'
18-
19- cd " $base_dir "
20-
21- test_expect_success ' preparing second repository' \
22- ' git clone A B && cd B &&
23- echo second > file2 &&
24- git add file2 &&
25- git commit -m B-addition &&
26- git repack -a -d &&
27- git prune'
28-
29- cd " $base_dir "
30-
31- test_expect_success ' preparing superproject' \
32- ' test_create_repo super && cd super &&
33- echo file > file &&
34- git add file &&
35- git commit -m B-super-initial'
36-
37- cd " $base_dir "
38-
39- test_expect_success ' submodule add --reference' \
40- ' cd super && git submodule add --reference ../B "file://$base_dir/A" sub &&
41- git commit -m B-super-added'
42-
43- cd " $base_dir "
44-
45- test_expect_success ' after add: existence of info/alternates' \
46- ' test_line_count = 1 super/.git/modules/sub/objects/info/alternates'
47-
48- cd " $base_dir "
49-
50- test_expect_success ' that reference gets used with add' \
51- ' cd super/sub &&
52- echo "0 objects, 0 kilobytes" > expected &&
53- git count-objects > current &&
54- diff expected current'
55-
56- cd " $base_dir "
57-
58- test_expect_success ' cloning superproject' \
59- ' git clone super super-clone'
60-
61- cd " $base_dir "
62-
63- test_expect_success ' update with reference' \
64- ' cd super-clone && git submodule update --init --reference ../B'
65-
66- cd " $base_dir "
67-
68- test_expect_success ' after update: existence of info/alternates' \
69- ' test_line_count = 1 super-clone/.git/modules/sub/objects/info/alternates'
70-
71- cd " $base_dir "
72-
73- test_expect_success ' that reference gets used with update' \
74- ' cd super-clone/sub &&
75- echo "0 objects, 0 kilobytes" > expected &&
76- git count-objects > current &&
77- diff expected current'
78-
79- cd " $base_dir "
11+ test_expect_success ' preparing first repository' '
12+ test_create_repo A &&
13+ (
14+ cd A &&
15+ echo first >file1 &&
16+ git add file1 &&
17+ git commit -m A-initial
18+ )
19+ '
20+
21+ test_expect_success ' preparing second repository' '
22+ git clone A B &&
23+ (
24+ cd B &&
25+ echo second >file2 &&
26+ git add file2 &&
27+ git commit -m B-addition &&
28+ git repack -a -d &&
29+ git prune
30+ )
31+ '
32+
33+ test_expect_success ' preparing superproject' '
34+ test_create_repo super &&
35+ (
36+ cd super &&
37+ echo file >file &&
38+ git add file &&
39+ git commit -m B-super-initial
40+ )
41+ '
42+
43+ test_expect_success ' submodule add --reference' '
44+ (
45+ cd super &&
46+ git submodule add --reference ../B "file://$base_dir/A" sub &&
47+ git commit -m B-super-added
48+ )
49+ '
50+
51+ test_expect_success ' after add: existence of info/alternates' '
52+ test_line_count = 1 super/.git/modules/sub/objects/info/alternates
53+ '
54+
55+ test_expect_success ' that reference gets used with add' '
56+ (
57+ cd super/sub &&
58+ echo "0 objects, 0 kilobytes" >expected &&
59+ git count-objects >current &&
60+ diff expected current
61+ )
62+ '
63+
64+ test_expect_success ' cloning superproject' '
65+ git clone super super-clone
66+ '
67+
68+ test_expect_success ' update with reference' '
69+ cd super-clone && git submodule update --init --reference ../B
70+ '
71+
72+ test_expect_success ' after update: existence of info/alternates' '
73+ test_line_count = 1 super-clone/.git/modules/sub/objects/info/alternates
74+ '
75+
76+ test_expect_success ' that reference gets used with update' '
77+ cd super-clone/sub &&
78+ echo "0 objects, 0 kilobytes" >expected &&
79+ git count-objects >current &&
80+ diff expected current
81+ '
8082
8183test_done
0 commit comments