Add cylogger dependency, and refactor logging to use cylogger
This commit is contained in:
7
go.mod
7
go.mod
@@ -1,10 +1,13 @@
|
||||
module gitvc
|
||||
|
||||
go 1.23.0
|
||||
go 1.24.2
|
||||
|
||||
toolchain go1.24.3
|
||||
|
||||
require github.com/go-git/go-git/v5 v5.16.0
|
||||
require (
|
||||
git.site.quack-lab.dev/dave/cylogger v1.2.2
|
||||
github.com/go-git/go-git/v5 v5.16.0
|
||||
)
|
||||
|
||||
require (
|
||||
dario.cat/mergo v1.0.0 // indirect
|
||||
|
2
go.sum
2
go.sum
@@ -1,5 +1,7 @@
|
||||
dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk=
|
||||
dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
|
||||
git.site.quack-lab.dev/dave/cylogger v1.2.2 h1:4xUXASEBlG9NiGxh7f57xHh9imW4unHzakIEpQoKC5E=
|
||||
git.site.quack-lab.dev/dave/cylogger v1.2.2/go.mod h1:VS9MI4Y/cwjCBZgel7dSfCQlwtAgHmfvixOoBgBhtKg=
|
||||
github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY=
|
||||
github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
|
||||
github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
|
||||
|
54
main.go
54
main.go
@@ -2,31 +2,17 @@ package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"fmt"
|
||||
"io"
|
||||
"log"
|
||||
"os"
|
||||
"path"
|
||||
"path/filepath"
|
||||
"time"
|
||||
|
||||
logger "git.site.quack-lab.dev/dave/cylogger"
|
||||
"github.com/go-git/go-git/v5/plumbing/object"
|
||||
"github.com/go-git/go-git/v5"
|
||||
"github.com/go-git/go-git/v5/config"
|
||||
)
|
||||
|
||||
var Error *log.Logger
|
||||
var Warning *log.Logger
|
||||
|
||||
func init() {
|
||||
log.SetFlags(log.Ldate | log.Ltime)
|
||||
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(os.Stdout),
|
||||
fmt.Sprintf("%sWarning:%s ", "\033[0;93m", "\033[0m"),
|
||||
log.Ldate|log.Ltime)
|
||||
}
|
||||
|
||||
var ROOT string
|
||||
|
||||
func main() {
|
||||
@@ -36,29 +22,29 @@ func main() {
|
||||
|
||||
scanInterval, err := time.ParseDuration(*scanIntervalF)
|
||||
if err != nil {
|
||||
Error.Printf("error parsing SCAN_INTERVAL: %v", err)
|
||||
logger.Error("error parsing SCAN_INTERVAL: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
cwd, err := os.Getwd()
|
||||
if err != nil {
|
||||
Error.Printf("error getting cwd: %v", err)
|
||||
logger.Error("error getting cwd: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
ROOT = path.Clean(cwd)
|
||||
ROOT, err = filepath.Abs(ROOT)
|
||||
if err != nil {
|
||||
Error.Printf("error getting absolute path for ROOT: %v", err)
|
||||
logger.Error("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())
|
||||
logger.Info("Input args parsed as:")
|
||||
logger.Info("ROOT: %s", ROOT)
|
||||
logger.Info("SCAN_INTERVAL: %.0fs", scanInterval.Seconds())
|
||||
|
||||
for {
|
||||
log.Printf("Running at %s", time.Now().Format(time.RFC3339))
|
||||
logger.Info("Running at %s", time.Now().Format(time.RFC3339))
|
||||
doRun()
|
||||
time.Sleep(scanInterval)
|
||||
}
|
||||
@@ -68,57 +54,57 @@ func doRun() {
|
||||
// Open the repository
|
||||
r, err := git.PlainOpen(ROOT)
|
||||
if err != nil {
|
||||
Error.Printf("Error opening repository: %v", err)
|
||||
logger.Error("Error opening repository: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
// Get the worktree
|
||||
w, err := r.Worktree()
|
||||
if err != nil {
|
||||
Error.Printf("Error getting worktree: %v", err)
|
||||
logger.Error("Error getting worktree: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
// Check status
|
||||
status, err := w.Status()
|
||||
if err != nil {
|
||||
Error.Printf("Error getting status: %v", err)
|
||||
logger.Error("Error getting status: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
if status.IsClean() {
|
||||
log.Printf("Nothing to commit")
|
||||
logger.Info("Nothing to commit")
|
||||
return
|
||||
}
|
||||
log.Printf("Changes detected")
|
||||
logger.Info("Changes detected")
|
||||
|
||||
// Add all changes
|
||||
err = w.AddWithOptions(&git.AddOptions{All: true})
|
||||
if err != nil {
|
||||
Error.Printf("Error adding changes: %v", err)
|
||||
logger.Error("Error adding changes: %v", err)
|
||||
return
|
||||
}
|
||||
log.Printf("Changes added to index")
|
||||
logger.Info("Changes added to index")
|
||||
|
||||
// Set identity
|
||||
err = setIdentity(r)
|
||||
if err != nil {
|
||||
Error.Printf("Error setting identity: %v", err)
|
||||
logger.Error("Error setting identity: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
// Commit changes
|
||||
_, err = w.Commit("Update", &git.CommitOptions{
|
||||
Author: &config.Signature{
|
||||
Author: &object.Signature{
|
||||
Name: "system",
|
||||
Email: "system@localhost",
|
||||
},
|
||||
})
|
||||
if err != nil {
|
||||
Error.Printf("Error committing changes: %v", err)
|
||||
logger.Error("Error committing changes: %v", err)
|
||||
return
|
||||
}
|
||||
log.Printf("Changes committed")
|
||||
logger.Info("Changes committed")
|
||||
}
|
||||
|
||||
func setIdentity(r *git.Repository) error {
|
||||
|
Reference in New Issue
Block a user