Delete unmodified versions
This commit is contained in:
parent
b5dc9e3db7
commit
7bcb0cfc6a
@ -74,8 +74,10 @@ func (db *database) load(dir string) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (db *database) save() error {
|
func (db *database) save() error {
|
||||||
|
lastVer := db.lastVersion()
|
||||||
|
|
||||||
for _, ver := range db.vers {
|
for _, ver := range db.vers {
|
||||||
if err := ver.finalize(); err != nil {
|
if err := ver.finalize(ver == lastVer); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
10
version.go
10
version.go
@ -146,8 +146,16 @@ func (v *version) rebasePath(paths ...string) string {
|
|||||||
return filepath.Join(combined...)
|
return filepath.Join(combined...)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v *version) finalize() error {
|
func (v *version) finalize(last bool) error {
|
||||||
|
if v.meta.dirty {
|
||||||
return v.meta.save()
|
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) {
|
func (v *version) Root() (fs.Node, error) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user