From 56e826e580dc913f0a1de0effd6f77757d9ca4c6 Mon Sep 17 00:00:00 2001 From: derfenix Date: Tue, 7 Jan 2025 03:53:28 +0300 Subject: [PATCH] Refactoring, fix bug --- application/config.go | 6 ++++-- main.go | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/application/config.go b/application/config.go index 6a66c25..c469177 100644 --- a/application/config.go +++ b/application/config.go @@ -14,6 +14,8 @@ const ( ModeMove Mode = "move" ) +var supportedModes = []Mode{ModeHardlink, ModeSymlink, ModeMove, ModeCopy} + type Config struct { SourceDir string TargetDir string @@ -34,8 +36,8 @@ func (c *Config) Validate() error { return fmt.Errorf("target dir is required") } - if !slices.Contains([]Mode{ModeHardlink, ModeSymlink, ModeMove, ModeCopy}, c.Mode) { - return fmt.Errorf("invalid mode %s", c.Mode) + if !slices.Contains(supportedModes, c.Mode) { + return fmt.Errorf("invalid mode %s, supported modes: %s", c.Mode, supportedModes) } if c.SkipFullSync && !c.Watch { diff --git a/main.go b/main.go index 3370e1b..5521530 100644 --- a/main.go +++ b/main.go @@ -38,7 +38,7 @@ func loadCfg() application.Config { flag.StringVar(&cfg.SourceDir, "source", "", "Source directory") flag.StringVar(&cfg.TargetDir, "target", "", "Target directory") flag.BoolVar(&cfg.Overwrite, "overwrite", false, "Overwrite existing files") - flag.BoolVar(&cfg.Watch, "watch", true, "Watch for changes in the source directory") + flag.BoolVar(&cfg.Watch, "watch", false, "Watch for changes in the source directory") flag.BoolVar(&cfg.SkipFullSync, "skip-full-sync", false, "Skip full sync at startup") var (