( c *C, deleteTime time.Time, expectedPacks int)
| 3215 | } |
| 3216 | |
| 3217 | func (s *RepositorySuite) testRepackObjects( |
| 3218 | c *C, deleteTime time.Time, expectedPacks int) { |
| 3219 | srcFs := fixtures.ByTag("unpacked").One().DotGit() |
| 3220 | var sto storage.Storer |
| 3221 | var err error |
| 3222 | sto = filesystem.NewStorage(srcFs, cache.NewObjectLRUDefault()) |
| 3223 | |
| 3224 | los := sto.(storer.LooseObjectStorer) |
| 3225 | c.Assert(los, NotNil) |
| 3226 | |
| 3227 | numLooseStart := 0 |
| 3228 | err = los.ForEachObjectHash(func(_ plumbing.Hash) error { |
| 3229 | numLooseStart++ |
| 3230 | return nil |
| 3231 | }) |
| 3232 | c.Assert(err, IsNil) |
| 3233 | c.Assert(numLooseStart > 0, Equals, true) |
| 3234 | |
| 3235 | pos := sto.(storer.PackedObjectStorer) |
| 3236 | c.Assert(los, NotNil) |
| 3237 | |
| 3238 | packs, err := pos.ObjectPacks() |
| 3239 | c.Assert(err, IsNil) |
| 3240 | numPacksStart := len(packs) |
| 3241 | c.Assert(numPacksStart > 1, Equals, true) |
| 3242 | |
| 3243 | r, err := Open(sto, srcFs) |
| 3244 | c.Assert(err, IsNil) |
| 3245 | c.Assert(r, NotNil) |
| 3246 | |
| 3247 | err = r.RepackObjects(&RepackConfig{ |
| 3248 | OnlyDeletePacksOlderThan: deleteTime, |
| 3249 | }) |
| 3250 | c.Assert(err, IsNil) |
| 3251 | |
| 3252 | numLooseEnd := 0 |
| 3253 | err = los.ForEachObjectHash(func(_ plumbing.Hash) error { |
| 3254 | numLooseEnd++ |
| 3255 | return nil |
| 3256 | }) |
| 3257 | c.Assert(err, IsNil) |
| 3258 | c.Assert(numLooseEnd, Equals, 0) |
| 3259 | |
| 3260 | packs, err = pos.ObjectPacks() |
| 3261 | c.Assert(err, IsNil) |
| 3262 | numPacksEnd := len(packs) |
| 3263 | c.Assert(numPacksEnd, Equals, expectedPacks) |
| 3264 | } |
| 3265 | |
| 3266 | func (s *RepositorySuite) TestRepackObjects(c *C) { |
| 3267 | if testing.Short() { |
no test coverage detected