Delete unmodified versions

This commit is contained in:
Alex Yatskov 2015-06-17 20:28:49 +09:00
parent b5dc9e3db7
commit 7bcb0cfc6a
2 changed files with 13 additions and 3 deletions

View File

@ -74,8 +74,10 @@ func (db *database) load(dir string) error {
}
func (db *database) save() error {
lastVer := db.lastVersion()
for _, ver := range db.vers {
if err := ver.finalize(); err != nil {
if err := ver.finalize(ver == lastVer); err != nil {
return err
}
}

View File

@ -146,8 +146,16 @@ func (v *version) rebasePath(paths ...string) string {
return filepath.Join(combined...)
}
func (v *version) finalize() error {
func (v *version) finalize(last bool) error {
if v.meta.dirty {
return v.meta.save()
} else if last {
if err := os.RemoveAll(v.base); err != nil {
return err
}
}
return nil
}
func (v *version) Root() (fs.Node, error) {