MCPcopy Index your code
hub / github.com/go-git/go-git / RepackObjects

Method RepackObjects

repository.go:1761–1792  ·  view source on GitHub ↗
(cfg *RepackConfig)

Source from the content-addressed store, hash-verified

1759}
1760
1761func (r *Repository) RepackObjects(cfg *RepackConfig) (err error) {
1762 pos, ok := r.Storer.(storer.PackedObjectStorer)
1763 if !ok {
1764 return ErrPackedObjectsNotSupported
1765 }
1766
1767 // Get the existing object packs.
1768 hs, err := pos.ObjectPacks()
1769 if err != nil {
1770 return err
1771 }
1772
1773 // Create a new pack.
1774 nh, err := r.createNewObjectPack(cfg)
1775 if err != nil {
1776 return err
1777 }
1778
1779 // Delete old packs.
1780 for _, h := range hs {
1781 // Skip if new hash is the same as an old one.
1782 if h == nh {
1783 continue
1784 }
1785 err = pos.DeleteOldObjectPackAndIndex(h, cfg.OnlyDeletePacksOlderThan)
1786 if err != nil {
1787 return err
1788 }
1789 }
1790
1791 return nil
1792}
1793
1794// Merge merges the reference branch into the current branch.
1795//

Callers 2

testRepackObjectsMethod · 0.80

Calls 3

createNewObjectPackMethod · 0.95
ObjectPacksMethod · 0.65

Tested by 2

testRepackObjectsMethod · 0.64