From c4323d28dc799f5cd2b0929ccb8cdb1905c6e14b Mon Sep 17 00:00:00 2001 From: Alex Yatskov Date: Mon, 22 Jun 2015 13:09:22 +0900 Subject: [PATCH] Improvements to deletion --- dir.go | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/dir.go b/dir.go index 0bddae6..11757df 100644 --- a/dir.go +++ b/dir.go @@ -114,18 +114,14 @@ func (vd *verDir) removeDir(name string) error { } node := vd.dirs[name].node - ver := node.ver - if node.flags&NodeFlagNew == NodeFlagNew { if err := os.Remove(node.rebasedPath()); err != nil { return err } - - ver = ver.parent } - if ver != nil { - ver.meta.removeNode(node.path) + if node.parent != nil { + vd.node.ver.meta.removeNode(node.path) } delete(vd.dirs, name) @@ -138,18 +134,14 @@ func (vd *verDir) removeFile(name string) error { } node := vd.files[name].node - ver := node.ver - if node.flags&NodeFlagNew == NodeFlagNew { if err := os.Remove(node.rebasedPath()); err != nil { return err } - - ver = ver.parent } - if ver != nil { - ver.meta.removeNode(node.path) + if node.parent != nil { + vd.node.ver.meta.removeNode(node.path) } delete(vd.files, name)