Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | # |
| 3 | # Copyright (c) 2007 Nicolas Pitre |
| 4 | # |
| 5 | |
| 6 | test_description='pack index with 64-bit offsets and object CRC' |
| 7 | . ./test-lib.sh |
| 8 | |
| 9 | test_expect_success \ |
| 10 | 'setup' \ |
Jonathan Nieder | a48fcd8 | 2010-10-30 20:46:54 -0500 | [diff] [blame] | 11 | 'rm -rf .git && |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 12 | git init && |
Johannes Schindelin | 1415be8 | 2008-12-15 20:44:30 +0100 | [diff] [blame] | 13 | git config pack.threads 1 && |
Shawn O. Pearce | b3431bc | 2007-05-02 12:59:55 -0400 | [diff] [blame] | 14 | i=1 && |
Nicolas Pitre | 2b5c208 | 2008-10-22 20:59:22 -0400 | [diff] [blame] | 15 | while test $i -le 100 |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 16 | do |
Nicolas Pitre | 2b5c208 | 2008-10-22 20:59:22 -0400 | [diff] [blame] | 17 | iii=`printf '%03i' $i` |
| 18 | test-genrandom "bar" 200 > wide_delta_$iii && |
| 19 | test-genrandom "baz $iii" 50 >> wide_delta_$iii && |
| 20 | test-genrandom "foo"$i 100 > deep_delta_$iii && |
| 21 | test-genrandom "foo"`expr $i + 1` 100 >> deep_delta_$iii && |
| 22 | test-genrandom "foo"`expr $i + 2` 100 >> deep_delta_$iii && |
| 23 | echo $iii >file_$iii && |
| 24 | test-genrandom "$iii" 8192 >>file_$iii && |
| 25 | git update-index --add file_$iii deep_delta_$iii wide_delta_$iii && |
| 26 | i=`expr $i + 1` || return 1 |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 27 | done && |
Junio C Hamano | bd4b0ae | 2007-04-23 22:05:22 -0700 | [diff] [blame] | 28 | { echo 101 && test-genrandom 100 8192; } >file_101 && |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 29 | git update-index --add file_101 && |
| 30 | tree=`git write-tree` && |
| 31 | commit=`git commit-tree $tree </dev/null` && { |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 32 | echo $tree && |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 33 | git ls-tree $tree | sed -e "s/.* \\([0-9a-f]*\\) .*/\\1/" |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 34 | } >obj-list && |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 35 | git update-ref HEAD $commit' |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 36 | |
| 37 | test_expect_success \ |
| 38 | 'pack-objects with index version 1' \ |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 39 | 'pack1=$(git pack-objects --index-version=1 test-1 <obj-list) && |
| 40 | git verify-pack -v "test-1-${pack1}.pack"' |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 41 | |
| 42 | test_expect_success \ |
| 43 | 'pack-objects with index version 2' \ |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 44 | 'pack2=$(git pack-objects --index-version=2 test-2 <obj-list) && |
| 45 | git verify-pack -v "test-2-${pack2}.pack"' |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 46 | |
| 47 | test_expect_success \ |
| 48 | 'both packs should be identical' \ |
| 49 | 'cmp "test-1-${pack1}.pack" "test-2-${pack2}.pack"' |
| 50 | |
Junio C Hamano | 41ac414 | 2008-02-01 01:50:53 -0800 | [diff] [blame] | 51 | test_expect_success \ |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 52 | 'index v1 and index v2 should be different' \ |
Junio C Hamano | 41ac414 | 2008-02-01 01:50:53 -0800 | [diff] [blame] | 53 | '! cmp "test-1-${pack1}.idx" "test-2-${pack2}.idx"' |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 54 | |
| 55 | test_expect_success \ |
| 56 | 'index-pack with index version 1' \ |
Nanako Shiraishi | 3604e7c | 2008-09-03 17:59:29 +0900 | [diff] [blame] | 57 | 'git index-pack --index-version=1 -o 1.idx "test-1-${pack1}.pack"' |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 58 | |
| 59 | test_expect_success \ |
| 60 | 'index-pack with index version 2' \ |
Nanako Shiraishi | 3604e7c | 2008-09-03 17:59:29 +0900 | [diff] [blame] | 61 | 'git index-pack --index-version=2 -o 2.idx "test-1-${pack1}.pack"' |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 62 | |
| 63 | test_expect_success \ |
| 64 | 'index-pack results should match pack-objects ones' \ |
| 65 | 'cmp "test-1-${pack1}.idx" "1.idx" && |
| 66 | cmp "test-2-${pack2}.idx" "2.idx"' |
| 67 | |
Junio C Hamano | e337a04 | 2011-02-02 17:29:01 -0800 | [diff] [blame] | 68 | test_expect_success 'index-pack --verify on index version 1' ' |
| 69 | git index-pack --verify "test-1-${pack1}.pack" |
| 70 | ' |
| 71 | |
| 72 | test_expect_success 'index-pack --verify on index version 2' ' |
| 73 | git index-pack --verify "test-2-${pack2}.pack" |
| 74 | ' |
| 75 | |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 76 | test_expect_success \ |
Nguyễn Thái Ngọc Duy | 6a30134 | 2012-02-01 22:17:18 +0700 | [diff] [blame] | 77 | 'pack-objects --index-version=2, is not accepted' \ |
| 78 | 'test_must_fail git pack-objects --index-version=2, test-3 <obj-list' |
| 79 | |
| 80 | test_expect_success \ |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 81 | 'index v2: force some 64-bit offsets with pack-objects' \ |
Johannes Sixt | 8ed2fca | 2007-11-13 21:04:58 +0100 | [diff] [blame] | 82 | 'pack3=$(git pack-objects --index-version=2,0x40000 test-3 <obj-list)' |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 83 | |
Johannes Sixt | 8ed2fca | 2007-11-13 21:04:58 +0100 | [diff] [blame] | 84 | if msg=$(git verify-pack -v "test-3-${pack3}.pack" 2>&1) || |
Jeff King | bbf0812 | 2008-05-14 00:01:22 -0400 | [diff] [blame] | 85 | ! (echo "$msg" | grep "pack too large .* off_t") |
Johannes Sixt | 8ed2fca | 2007-11-13 21:04:58 +0100 | [diff] [blame] | 86 | then |
Johannes Sixt | 18bf879 | 2009-02-25 22:34:34 +0100 | [diff] [blame] | 87 | test_set_prereq OFF64_T |
Johannes Sixt | 8ed2fca | 2007-11-13 21:04:58 +0100 | [diff] [blame] | 88 | else |
Ævar Arnfjörð Bjarmason | fadb515 | 2010-06-24 17:44:48 +0000 | [diff] [blame] | 89 | say "# skipping tests concerning 64-bit offsets" |
Johannes Sixt | 8ed2fca | 2007-11-13 21:04:58 +0100 | [diff] [blame] | 90 | fi |
| 91 | |
Johannes Sixt | 18bf879 | 2009-02-25 22:34:34 +0100 | [diff] [blame] | 92 | test_expect_success OFF64_T \ |
Johannes Sixt | 8ed2fca | 2007-11-13 21:04:58 +0100 | [diff] [blame] | 93 | 'index v2: verify a pack with some 64-bit offsets' \ |
| 94 | 'git verify-pack -v "test-3-${pack3}.pack"' |
| 95 | |
Johannes Sixt | 18bf879 | 2009-02-25 22:34:34 +0100 | [diff] [blame] | 96 | test_expect_success OFF64_T \ |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 97 | '64-bit offsets: should be different from previous index v2 results' \ |
Junio C Hamano | 41ac414 | 2008-02-01 01:50:53 -0800 | [diff] [blame] | 98 | '! cmp "test-2-${pack2}.idx" "test-3-${pack3}.idx"' |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 99 | |
Johannes Sixt | 18bf879 | 2009-02-25 22:34:34 +0100 | [diff] [blame] | 100 | test_expect_success OFF64_T \ |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 101 | 'index v2: force some 64-bit offsets with index-pack' \ |
Nanako Shiraishi | 3604e7c | 2008-09-03 17:59:29 +0900 | [diff] [blame] | 102 | 'git index-pack --index-version=2,0x40000 -o 3.idx "test-1-${pack1}.pack"' |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 103 | |
Johannes Sixt | 18bf879 | 2009-02-25 22:34:34 +0100 | [diff] [blame] | 104 | test_expect_success OFF64_T \ |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 105 | '64-bit offsets: index-pack result should match pack-objects one' \ |
| 106 | 'cmp "test-3-${pack3}.idx" "3.idx"' |
| 107 | |
Junio C Hamano | e337a04 | 2011-02-02 17:29:01 -0800 | [diff] [blame] | 108 | test_expect_success OFF64_T 'index-pack --verify on 64-bit offset v2 (cheat)' ' |
| 109 | # This cheats by knowing which lower offset should still be encoded |
| 110 | # in 64-bit representation. |
| 111 | git index-pack --verify --index-version=2,0x40000 "test-3-${pack3}.pack" |
| 112 | ' |
| 113 | |
Junio C Hamano | 3c9fc07 | 2011-02-25 16:55:26 -0800 | [diff] [blame] | 114 | test_expect_success OFF64_T 'index-pack --verify on 64-bit offset v2' ' |
Junio C Hamano | e337a04 | 2011-02-02 17:29:01 -0800 | [diff] [blame] | 115 | git index-pack --verify "test-3-${pack3}.pack" |
| 116 | ' |
| 117 | |
Nicolas Pitre | 2b5c208 | 2008-10-22 20:59:22 -0400 | [diff] [blame] | 118 | # returns the object number for given object in given pack index |
| 119 | index_obj_nr() |
| 120 | { |
| 121 | idx_file=$1 |
| 122 | object_sha1=$2 |
| 123 | nr=0 |
| 124 | git show-index < $idx_file | |
| 125 | while read offs sha1 extra |
| 126 | do |
| 127 | nr=$(($nr + 1)) |
| 128 | test "$sha1" = "$object_sha1" || continue |
| 129 | echo "$(($nr - 1))" |
| 130 | break |
| 131 | done |
| 132 | } |
| 133 | |
| 134 | # returns the pack offset for given object as found in given pack index |
| 135 | index_obj_offset() |
| 136 | { |
| 137 | idx_file=$1 |
| 138 | object_sha1=$2 |
| 139 | git show-index < $idx_file | grep $object_sha1 | |
| 140 | ( read offs extra && echo "$offs" ) |
| 141 | } |
| 142 | |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 143 | test_expect_success \ |
| 144 | '[index v1] 1) stream pack to repository' \ |
Nanako Shiraishi | 3604e7c | 2008-09-03 17:59:29 +0900 | [diff] [blame] | 145 | 'git index-pack --index-version=1 --stdin < "test-1-${pack1}.pack" && |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 146 | git prune-packed && |
| 147 | git count-objects | ( read nr rest && test "$nr" -eq 1 ) && |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 148 | cmp "test-1-${pack1}.pack" ".git/objects/pack/pack-${pack1}.pack" && |
| 149 | cmp "test-1-${pack1}.idx" ".git/objects/pack/pack-${pack1}.idx"' |
| 150 | |
| 151 | test_expect_success \ |
| 152 | '[index v1] 2) create a stealth corruption in a delta base reference' \ |
Nicolas Pitre | 2b5c208 | 2008-10-22 20:59:22 -0400 | [diff] [blame] | 153 | '# This test assumes file_101 is a delta smaller than 16 bytes. |
| 154 | # It should be against file_100 but we substitute its base for file_099 |
| 155 | sha1_101=`git hash-object file_101` && |
| 156 | sha1_099=`git hash-object file_099` && |
| 157 | offs_101=`index_obj_offset 1.idx $sha1_101` && |
| 158 | nr_099=`index_obj_nr 1.idx $sha1_099` && |
| 159 | chmod +w ".git/objects/pack/pack-${pack1}.pack" && |
| 160 | dd of=".git/objects/pack/pack-${pack1}.pack" seek=$(($offs_101 + 1)) \ |
| 161 | if=".git/objects/pack/pack-${pack1}.idx" \ |
| 162 | skip=$((4 + 256 * 4 + $nr_099 * 24)) \ |
| 163 | bs=1 count=20 conv=notrunc && |
| 164 | git cat-file blob $sha1_101 > file_101_foo1' |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 165 | |
Junio C Hamano | 41ac414 | 2008-02-01 01:50:53 -0800 | [diff] [blame] | 166 | test_expect_success \ |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 167 | '[index v1] 3) corrupted delta happily returned wrong data' \ |
Nicolas Pitre | 2b5c208 | 2008-10-22 20:59:22 -0400 | [diff] [blame] | 168 | 'test -f file_101_foo1 && ! cmp file_101 file_101_foo1' |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 169 | |
Junio C Hamano | 41ac414 | 2008-02-01 01:50:53 -0800 | [diff] [blame] | 170 | test_expect_success \ |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 171 | '[index v1] 4) confirm that the pack is actually corrupted' \ |
Stephan Beyer | d492b31 | 2008-07-12 17:47:52 +0200 | [diff] [blame] | 172 | 'test_must_fail git fsck --full $commit' |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 173 | |
| 174 | test_expect_success \ |
| 175 | '[index v1] 5) pack-objects happily reuses corrupted data' \ |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 176 | 'pack4=$(git pack-objects test-4 <obj-list) && |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 177 | test -f "test-4-${pack1}.pack"' |
| 178 | |
Junio C Hamano | 41ac414 | 2008-02-01 01:50:53 -0800 | [diff] [blame] | 179 | test_expect_success \ |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 180 | '[index v1] 6) newly created pack is BAD !' \ |
Stephan Beyer | d492b31 | 2008-07-12 17:47:52 +0200 | [diff] [blame] | 181 | 'test_must_fail git verify-pack -v "test-4-${pack1}.pack"' |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 182 | |
| 183 | test_expect_success \ |
| 184 | '[index v2] 1) stream pack to repository' \ |
| 185 | 'rm -f .git/objects/pack/* && |
Nanako Shiraishi | 3604e7c | 2008-09-03 17:59:29 +0900 | [diff] [blame] | 186 | git index-pack --index-version=2 --stdin < "test-1-${pack1}.pack" && |
Junio C Hamano | 5be6007 | 2007-07-02 22:52:14 -0700 | [diff] [blame] | 187 | git prune-packed && |
| 188 | git count-objects | ( read nr rest && test "$nr" -eq 1 ) && |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 189 | cmp "test-1-${pack1}.pack" ".git/objects/pack/pack-${pack1}.pack" && |
Nicolas Pitre | 5f9ffff | 2007-11-15 12:24:17 -0500 | [diff] [blame] | 190 | cmp "test-2-${pack1}.idx" ".git/objects/pack/pack-${pack1}.idx"' |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 191 | |
| 192 | test_expect_success \ |
| 193 | '[index v2] 2) create a stealth corruption in a delta base reference' \ |
Nicolas Pitre | 2b5c208 | 2008-10-22 20:59:22 -0400 | [diff] [blame] | 194 | '# This test assumes file_101 is a delta smaller than 16 bytes. |
| 195 | # It should be against file_100 but we substitute its base for file_099 |
| 196 | sha1_101=`git hash-object file_101` && |
| 197 | sha1_099=`git hash-object file_099` && |
| 198 | offs_101=`index_obj_offset 1.idx $sha1_101` && |
| 199 | nr_099=`index_obj_nr 1.idx $sha1_099` && |
| 200 | chmod +w ".git/objects/pack/pack-${pack1}.pack" && |
| 201 | dd of=".git/objects/pack/pack-${pack1}.pack" seek=$(($offs_101 + 1)) \ |
| 202 | if=".git/objects/pack/pack-${pack1}.idx" \ |
| 203 | skip=$((8 + 256 * 4 + $nr_099 * 20)) \ |
| 204 | bs=1 count=20 conv=notrunc && |
| 205 | git cat-file blob $sha1_101 > file_101_foo2' |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 206 | |
Junio C Hamano | 41ac414 | 2008-02-01 01:50:53 -0800 | [diff] [blame] | 207 | test_expect_success \ |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 208 | '[index v2] 3) corrupted delta happily returned wrong data' \ |
Nicolas Pitre | 2b5c208 | 2008-10-22 20:59:22 -0400 | [diff] [blame] | 209 | 'test -f file_101_foo2 && ! cmp file_101 file_101_foo2' |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 210 | |
Junio C Hamano | 41ac414 | 2008-02-01 01:50:53 -0800 | [diff] [blame] | 211 | test_expect_success \ |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 212 | '[index v2] 4) confirm that the pack is actually corrupted' \ |
Stephan Beyer | d492b31 | 2008-07-12 17:47:52 +0200 | [diff] [blame] | 213 | 'test_must_fail git fsck --full $commit' |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 214 | |
Junio C Hamano | 41ac414 | 2008-02-01 01:50:53 -0800 | [diff] [blame] | 215 | test_expect_success \ |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 216 | '[index v2] 5) pack-objects refuses to reuse corrupted data' \ |
Nicolas Pitre | 0e8189e | 2008-10-31 11:31:08 -0400 | [diff] [blame] | 217 | 'test_must_fail git pack-objects test-5 <obj-list && |
| 218 | test_must_fail git pack-objects --no-reuse-object test-6 <obj-list' |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 219 | |
Nicolas Pitre | 85fe23e | 2008-06-24 23:19:44 -0400 | [diff] [blame] | 220 | test_expect_success \ |
| 221 | '[index v2] 6) verify-pack detects CRC mismatch' \ |
| 222 | 'rm -f .git/objects/pack/* && |
Nanako Shiraishi | 3604e7c | 2008-09-03 17:59:29 +0900 | [diff] [blame] | 223 | git index-pack --index-version=2 --stdin < "test-1-${pack1}.pack" && |
Nicolas Pitre | 85fe23e | 2008-06-24 23:19:44 -0400 | [diff] [blame] | 224 | git verify-pack ".git/objects/pack/pack-${pack1}.pack" && |
Nicolas Pitre | 2b5c208 | 2008-10-22 20:59:22 -0400 | [diff] [blame] | 225 | obj=`git hash-object file_001` && |
| 226 | nr=`index_obj_nr ".git/objects/pack/pack-${pack1}.idx" $obj` && |
Nicolas Pitre | 85fe23e | 2008-06-24 23:19:44 -0400 | [diff] [blame] | 227 | chmod +w ".git/objects/pack/pack-${pack1}.idx" && |
Johannes Sixt | b689ccf | 2008-11-17 09:21:30 +0100 | [diff] [blame] | 228 | printf xxxx | dd of=".git/objects/pack/pack-${pack1}.idx" conv=notrunc \ |
Nicolas Pitre | 2b5c208 | 2008-10-22 20:59:22 -0400 | [diff] [blame] | 229 | bs=1 count=4 seek=$((8 + 256 * 4 + `wc -l <obj-list` * 20 + $nr * 4)) && |
Nicolas Pitre | 85fe23e | 2008-06-24 23:19:44 -0400 | [diff] [blame] | 230 | ( while read obj |
| 231 | do git cat-file -p $obj >/dev/null || exit 1 |
| 232 | done <obj-list ) && |
Junio C Hamano | 3de89c9 | 2011-06-03 15:32:17 -0700 | [diff] [blame] | 233 | test_must_fail git verify-pack ".git/objects/pack/pack-${pack1}.pack" |
| 234 | ' |
Nicolas Pitre | 85fe23e | 2008-06-24 23:19:44 -0400 | [diff] [blame] | 235 | |
Nicolas Pitre | a672ea6 | 2008-10-20 21:17:07 -0400 | [diff] [blame] | 236 | test_expect_success 'running index-pack in the object store' ' |
| 237 | rm -f .git/objects/pack/* && |
| 238 | cp test-1-${pack1}.pack .git/objects/pack/pack-${pack1}.pack && |
| 239 | ( |
| 240 | cd .git/objects/pack |
| 241 | git index-pack pack-${pack1}.pack |
| 242 | ) && |
| 243 | test -f .git/objects/pack/pack-${pack1}.idx |
| 244 | ' |
| 245 | |
Nicolas Pitre | 6e54177 | 2007-04-10 16:26:10 -0400 | [diff] [blame] | 246 | test_done |