mirror of
https://github.com/octoleo/syncthing.git
synced 2024-12-23 11:28:59 +00:00
Remove old index files on startup (fixes #366)
This commit is contained in:
parent
9ca87f5314
commit
5fa8f8e50c
@ -5,6 +5,7 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"crypto/sha1"
|
||||||
"crypto/tls"
|
"crypto/tls"
|
||||||
"flag"
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
@ -353,6 +354,29 @@ func main() {
|
|||||||
m.ScanRepos()
|
m.ScanRepos()
|
||||||
m.SaveIndexes(confDir)
|
m.SaveIndexes(confDir)
|
||||||
|
|
||||||
|
// Remove all .idx* files that don't belong to an active repo.
|
||||||
|
|
||||||
|
validIndexes := make(map[string]bool)
|
||||||
|
for _, repo := range cfg.Repositories {
|
||||||
|
dir := expandTilde(repo.Directory)
|
||||||
|
id := fmt.Sprintf("%x", sha1.Sum([]byte(dir)))
|
||||||
|
validIndexes[id] = true
|
||||||
|
}
|
||||||
|
|
||||||
|
allIndexes, err := filepath.Glob(filepath.Join(confDir, "*.idx*"))
|
||||||
|
if err == nil {
|
||||||
|
for _, idx := range allIndexes {
|
||||||
|
bn := filepath.Base(idx)
|
||||||
|
fs := strings.Split(bn, ".")
|
||||||
|
if len(fs) > 1 {
|
||||||
|
if _, ok := validIndexes[fs[0]]; !ok {
|
||||||
|
l.Infoln("Removing old index", bn)
|
||||||
|
os.Remove(idx)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// UPnP
|
// UPnP
|
||||||
|
|
||||||
var externalPort = 0
|
var externalPort = 0
|
||||||
|
Loading…
Reference in New Issue
Block a user