func saveIndex(m *model.Model) { name := m.RepoID() + ".idx.gz" fullName := path.Join(opts.ConfDir, name) idxf, err := os.Create(fullName + ".tmp") if err != nil { return } gzw := gzip.NewWriter(idxf) protocol.WriteIndex(gzw, m.ProtocolIndex()) gzw.Close() idxf.Close() os.Rename(fullName+".tmp", fullName) }
func loadIndex(m *model.Model) { name := m.RepoID() + ".idx.gz" idxf, err := os.Open(path.Join(opts.ConfDir, name)) if err != nil { return } defer idxf.Close() gzr, err := gzip.NewReader(idxf) if err != nil { return } defer gzr.Close() idx, err := protocol.ReadIndex(gzr) if err != nil { return } m.SeedLocal(idx) }