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
|
module gitvc
|
||||||
|
|
||||||
go 1.23.0
|
go 1.24.2
|
||||||
|
|
||||||
toolchain go1.24.3
|
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 (
|
require (
|
||||||
dario.cat/mergo v1.0.0 // indirect
|
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 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk=
|
||||||
dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
|
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.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY=
|
||||||
github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
|
github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
|
||||||
github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
|
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 (
|
import (
|
||||||
"flag"
|
"flag"
|
||||||
"fmt"
|
|
||||||
"io"
|
|
||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
"path"
|
"path"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"time"
|
"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"
|
||||||
"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
|
var ROOT string
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@@ -36,29 +22,29 @@ func main() {
|
|||||||
|
|
||||||
scanInterval, err := time.ParseDuration(*scanIntervalF)
|
scanInterval, err := time.ParseDuration(*scanIntervalF)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
Error.Printf("error parsing SCAN_INTERVAL: %v", err)
|
logger.Error("error parsing SCAN_INTERVAL: %v", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
cwd, err := os.Getwd()
|
cwd, err := os.Getwd()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
Error.Printf("error getting cwd: %v", err)
|
logger.Error("error getting cwd: %v", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
ROOT = path.Clean(cwd)
|
ROOT = path.Clean(cwd)
|
||||||
ROOT, err = filepath.Abs(ROOT)
|
ROOT, err = filepath.Abs(ROOT)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
Error.Printf("error getting absolute path for ROOT: %v", err)
|
logger.Error("error getting absolute path for ROOT: %v", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Printf("Input args parsed as:")
|
logger.Info("Input args parsed as:")
|
||||||
log.Printf("ROOT: %s", ROOT)
|
logger.Info("ROOT: %s", ROOT)
|
||||||
log.Printf("SCAN_INTERVAL: %.0fs", scanInterval.Seconds())
|
logger.Info("SCAN_INTERVAL: %.0fs", scanInterval.Seconds())
|
||||||
|
|
||||||
for {
|
for {
|
||||||
log.Printf("Running at %s", time.Now().Format(time.RFC3339))
|
logger.Info("Running at %s", time.Now().Format(time.RFC3339))
|
||||||
doRun()
|
doRun()
|
||||||
time.Sleep(scanInterval)
|
time.Sleep(scanInterval)
|
||||||
}
|
}
|
||||||
@@ -68,57 +54,57 @@ func doRun() {
|
|||||||
// Open the repository
|
// Open the repository
|
||||||
r, err := git.PlainOpen(ROOT)
|
r, err := git.PlainOpen(ROOT)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
Error.Printf("Error opening repository: %v", err)
|
logger.Error("Error opening repository: %v", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get the worktree
|
// Get the worktree
|
||||||
w, err := r.Worktree()
|
w, err := r.Worktree()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
Error.Printf("Error getting worktree: %v", err)
|
logger.Error("Error getting worktree: %v", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check status
|
// Check status
|
||||||
status, err := w.Status()
|
status, err := w.Status()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
Error.Printf("Error getting status: %v", err)
|
logger.Error("Error getting status: %v", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if status.IsClean() {
|
if status.IsClean() {
|
||||||
log.Printf("Nothing to commit")
|
logger.Info("Nothing to commit")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
log.Printf("Changes detected")
|
logger.Info("Changes detected")
|
||||||
|
|
||||||
// Add all changes
|
// Add all changes
|
||||||
err = w.AddWithOptions(&git.AddOptions{All: true})
|
err = w.AddWithOptions(&git.AddOptions{All: true})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
Error.Printf("Error adding changes: %v", err)
|
logger.Error("Error adding changes: %v", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
log.Printf("Changes added to index")
|
logger.Info("Changes added to index")
|
||||||
|
|
||||||
// Set identity
|
// Set identity
|
||||||
err = setIdentity(r)
|
err = setIdentity(r)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
Error.Printf("Error setting identity: %v", err)
|
logger.Error("Error setting identity: %v", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// Commit changes
|
// Commit changes
|
||||||
_, err = w.Commit("Update", &git.CommitOptions{
|
_, err = w.Commit("Update", &git.CommitOptions{
|
||||||
Author: &config.Signature{
|
Author: &object.Signature{
|
||||||
Name: "system",
|
Name: "system",
|
||||||
Email: "system@localhost",
|
Email: "system@localhost",
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
Error.Printf("Error committing changes: %v", err)
|
logger.Error("Error committing changes: %v", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
log.Printf("Changes committed")
|
logger.Info("Changes committed")
|
||||||
}
|
}
|
||||||
|
|
||||||
func setIdentity(r *git.Repository) error {
|
func setIdentity(r *git.Repository) error {
|
||||||
|
Reference in New Issue
Block a user