cmd/syncthing: Add -reset-deltas option to reset delta index IDs

Also rename and clarify the description of -reset-database (formerly
-reset).
This commit is contained in:
Jakob Borg
2016-12-26 13:48:54 +01:00
parent fc16e49cb0
commit 44bdaf3ac2

View File

@@ -199,7 +199,8 @@ var (
type RuntimeOptions struct { type RuntimeOptions struct {
confDir string confDir string
reset bool resetDatabase bool
resetDeltaIdxs bool
showVersion bool showVersion bool
showPaths bool showPaths bool
doUpgrade bool doUpgrade bool
@@ -260,7 +261,8 @@ func parseCommandLineOptions() RuntimeOptions {
flag.BoolVar(&options.noBrowser, "no-browser", false, "Do not start browser") flag.BoolVar(&options.noBrowser, "no-browser", false, "Do not start browser")
flag.BoolVar(&options.browserOnly, "browser-only", false, "Open GUI in browser") flag.BoolVar(&options.browserOnly, "browser-only", false, "Open GUI in browser")
flag.BoolVar(&options.noRestart, "no-restart", options.noRestart, "Do not restart; just exit") flag.BoolVar(&options.noRestart, "no-restart", options.noRestart, "Do not restart; just exit")
flag.BoolVar(&options.reset, "reset", false, "Reset the database") flag.BoolVar(&options.resetDatabase, "reset-database", false, "Reset the database, forcing a full rescan and resync")
flag.BoolVar(&options.resetDeltaIdxs, "reset-deltas", false, "Reset delta index IDs, forcing a full index exchange")
flag.BoolVar(&options.doUpgrade, "upgrade", false, "Perform upgrade") flag.BoolVar(&options.doUpgrade, "upgrade", false, "Perform upgrade")
flag.BoolVar(&options.doUpgradeCheck, "upgrade-check", false, "Check for available upgrade") flag.BoolVar(&options.doUpgradeCheck, "upgrade-check", false, "Check for available upgrade")
flag.BoolVar(&options.showVersion, "version", false, "Show version") flag.BoolVar(&options.showVersion, "version", false, "Show version")
@@ -369,7 +371,7 @@ func main() {
return return
} }
if options.reset { if options.resetDatabase {
resetDB() resetDB()
return return
} }
@@ -669,6 +671,11 @@ func syncthingMain(runtimeOptions RuntimeOptions) {
l.Fatalln("Cannot open database:", err, "- Is another copy of Syncthing already running?") l.Fatalln("Cannot open database:", err, "- Is another copy of Syncthing already running?")
} }
if runtimeOptions.resetDeltaIdxs {
l.Infoln("Reinitializing delta index IDs")
ldb.DropDeltaIndexIDs()
}
protectedFiles := []string{ protectedFiles := []string{
locations[locDatabase], locations[locDatabase],
locations[locConfigFile], locations[locConfigFile],