From 2594d7f46e293c4b2eb9ea243943b4c39046ed3d Mon Sep 17 00:00:00 2001 From: PhatPhuckDave Date: Fri, 10 Jan 2025 13:19:19 +0100 Subject: [PATCH] Rework it into a traditional cli program instead of service "Rework" --- main.go | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/main.go b/main.go index aaf96a6..f15eecb 100644 --- a/main.go +++ b/main.go @@ -17,18 +17,10 @@ var Warning *log.Logger func init() { log.SetFlags(log.Ldate | log.Ltime) - logFile, err := os.Create("main.log") - if err != nil { - log.Printf("Error creating log file: %v", err) - os.Exit(1) - } - logger := io.MultiWriter(os.Stdout, logFile) - log.SetOutput(logger) - - Error = log.New(io.MultiWriter(logFile, os.Stderr, os.Stdout), + Error = log.New(io.MultiWriter(os.Stderr, os.Stdout), fmt.Sprintf("%sERROR:%s ", "\033[0;101m", "\033[0m"), log.Ldate|log.Ltime) - Warning = log.New(io.MultiWriter(logFile, os.Stdout), + Warning = log.New(io.MultiWriter(os.Stdout), fmt.Sprintf("%sWarning:%s ", "\033[0;93m", "\033[0m"), log.Ldate|log.Ltime) } @@ -46,7 +38,7 @@ var ROOT string func main() { log.SetFlags(log.Lmicroseconds) - ROOT = filepath.ToSlash(strings.TrimSpace(getEnv("ROOT", "/tmp"))) + ROOT = filepath.ToSlash(strings.TrimSpace(getEnv("ROOT", "."))) ROOT = path.Clean(ROOT) scanInterval, err := time.ParseDuration(getEnv("SCAN_INTERVAL", "1m")) if err != nil { @@ -54,6 +46,11 @@ func main() { return } + ROOT, err = filepath.Abs(ROOT) + if err != nil { + Error.Printf("error getting absolute path for ROOT: %v", err) + return + } log.Printf("Input args parsed as:") log.Printf("ROOT: %s", ROOT) log.Printf("SCAN_INTERVAL: %.0fs", scanInterval.Seconds()) @@ -73,9 +70,15 @@ func main() { } func doRun() { - err := os.Remove(filepath.Join(ROOT, ".git/index.lock")) - if err != nil { - Error.Printf("Error removing index.lock: %v", err) + file, err := os.Open(filepath.Join(ROOT, ".git/index.lock")) + if err == nil { + log.Printf("Index lock found, removing") + file.Close() + err = os.Remove(filepath.Join(ROOT, ".git/index.lock")) + if err != nil { + Error.Printf("Error removing index.lock: %v", err) + return + } } status, err := doStatus()