MCPcopy
hub / github.com/go-git/go-git / testRepackObjects

Method testRepackObjects

repository_test.go:3217–3264  ·  view source on GitHub ↗
(
	c *C, deleteTime time.Time, expectedPacks int)

Source from the content-addressed store, hash-verified

3215}
3216
3217func (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
3266func (s *RepositorySuite) TestRepackObjects(c *C) {
3267 if testing.Short() {

Callers 2

TestRepackObjectsMethod · 0.95

Calls 6

NewStorageFunction · 0.92
NewObjectLRUDefaultFunction · 0.92
OpenFunction · 0.85
RepackObjectsMethod · 0.80
ForEachObjectHashMethod · 0.65
ObjectPacksMethod · 0.65

Tested by

no test coverage detected