aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Graf <register-github@alex-graf.de>2014-09-04 16:48:24 +0200
committerAlexander Graf <register-github@alex-graf.de>2014-09-04 16:48:24 +0200
commita58564ff880d003a8360a0c0d21121bb5d3eb85c (patch)
tree93616c87072233c723e4da9c07ca5cfdecbaea05
parent89885b9fb9e78827d34cc586f3ca92b7127e6055 (diff)
downloadsyncthing-a58564ff880d003a8360a0c0d21121bb5d3eb85c.tar.gz
syncthing-a58564ff880d003a8360a0c0d21121bb5d3eb85c.zip
count directories as files (fixes #607)
-rw-r--r--versioner/staggered.go13
1 files changed, 9 insertions, 4 deletions
diff --git a/versioner/staggered.go b/versioner/staggered.go
index aac06c2f9..9ae00abc2 100644
--- a/versioner/staggered.go
+++ b/versioner/staggered.go
@@ -129,7 +129,10 @@ func (v Staggered) clean() {
switch mode := f.Mode(); {
case mode.IsDir():
filesPerDir[path] = 0
-
+ if path != v.versionsPath {
+ dir := filepath.Dir(path)
+ filesPerDir[dir]++
+ }
case mode.IsRegular():
extension := filepath.Ext(path)
dir := filepath.Dir(path)
@@ -152,15 +155,17 @@ func (v Staggered) clean() {
}
for path, numFiles := range filesPerDir {
+ if numFiles > 0 {
+ continue
+ }
+
if path == v.versionsPath {
if debug {
l.Debugln("Cleaner: versions dir is empty, don't delete", path)
}
continue
}
- if numFiles > 0 {
- continue
- }
+
if debug {
l.Debugln("Cleaner: deleting empty directory", path)