Raw
 1package replica
 2
 3import (
 4	"errors"
 5	"io/fs"
 6	"os"
 7	"path/filepath"
 8)
 9
10func DropEmptyRefs(repo string) error {
11	err := filepath.WalkDir(filepath.Join(repo, "refs"), func(p string, d fs.DirEntry, err error) error {
12		if err != nil || !d.Type().IsRegular() {
13			return err
14		}
15		fi, err := d.Info()
16		if err != nil {
17			return err
18		}
19		if fi.Size() == 0 {
20			return os.Remove(p)
21		}
22		return nil
23	})
24	if errors.Is(err, fs.ErrNotExist) {
25		return nil
26	}
27	return err
28}