From 32a2145ee44cc301551ce2e4d24ed34361ebd4b2 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Fri, 28 Jun 2024 14:36:33 +0200 Subject: run `git clean` after updating --- internal/vcs/repository.go | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/internal/vcs/repository.go b/internal/vcs/repository.go index 8ee08b2..625fbd2 100644 --- a/internal/vcs/repository.go +++ b/internal/vcs/repository.go @@ -81,5 +81,23 @@ func (r *Repository) Update(cfg *Config) (bool, error) { } log.Info("updated to", "rev", head.Hash().String()) - return true, nil + return true, r.Clean(wt) +} + +func (r *Repository) Clean(wt *git.Worktree) error { + st, err := wt.Status() + if err != nil { + return err + } + + if !st.IsClean() { + err = wt.Clean(&git.CleanOptions{ + Dir: true, + }) + if err != nil { + return err + } + } + + return nil } -- cgit 1.4.1