3 # Copyright (c) 2009, Red Hat Inc, Author: Michael S. Tsirkin (mst@redhat.com)
6 test_description='test clone --reference'
11 U=$base_dir/UPLOAD_LOG
13 test_expect_success 'preparing first repository' \
14 'test_create_repo A && cd A &&
17 git commit -m A-initial'
21 test_expect_success 'preparing second repository' \
22 'git clone A B && cd B &&
23 echo second > file2 &&
25 git commit -m B-addition &&
31 test_expect_success 'preparing supermodule' \
32 'test_create_repo super && cd super &&
35 git commit -m B-super-initial'
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'
45 test_expect_success 'after add: existence of info/alternates' \
46 'test `wc -l <super/.git/modules/sub/objects/info/alternates` = 1'
50 test_expect_success 'that reference gets used with add' \
52 echo "0 objects, 0 kilobytes" > expected &&
53 git count-objects > current &&
54 diff expected current'
58 test_expect_success 'cloning supermodule' \
59 'git clone super super-clone'
63 test_expect_success 'update with reference' \
64 'cd super-clone && git submodule update --init --reference ../B'
68 test_expect_success 'after update: existence of info/alternates' \
69 'test `wc -l <super-clone/.git/modules/sub/objects/info/alternates` = 1'
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'