File tree Expand file tree Collapse file tree 1 file changed +13
-2
lines changed Expand file tree Collapse file tree 1 file changed +13
-2
lines changed Original file line number Diff line number Diff line change @@ -126,8 +126,18 @@ test_expect_success 'gc.recentObjectsHook' '
126
126
git cat-file -p $obj2 &&
127
127
git cat-file -p $obj3 &&
128
128
129
- git tag -a -m tag obj2-tag $obj2 &&
130
- obj2_tag="$(git rev-parse obj2-tag)" &&
129
+ # make an unreachable annotated tag object to ensure we rescue objects
130
+ # which are reachable from non-pruned unreachable objects
131
+ obj2_tag="$(git mktag <<-EOF
132
+ object $obj2
133
+ type blob
134
+ tag obj2-tag
135
+ tagger T A Gger <[email protected] > 1234567890 -0000
136
+ EOF
137
+ )" &&
138
+
139
+ obj2_tag_pack="$(echo $obj2_tag | git pack-objects .git/objects/pack/pack)" &&
140
+ git prune-packed &&
131
141
132
142
write_script precious-objects <<-EOF &&
133
143
echo $obj2_tag
@@ -136,6 +146,7 @@ test_expect_success 'gc.recentObjectsHook' '
136
146
137
147
test-tool chmtime =-86400 .git/objects/pack/pack-$pack2.pack &&
138
148
test-tool chmtime =-86400 .git/objects/pack/pack-$pack3.pack &&
149
+ test-tool chmtime =-86400 .git/objects/pack/pack-$obj2_tag_pack.pack &&
139
150
git repack -A -d --unpack-unreachable=1.hour.ago &&
140
151
141
152
git cat-file -p $obj1 &&
You can’t perform that action at this time.
0 commit comments