From 4390f6de0dc7acf1dd256ff60d3a42076a6c602a Mon Sep 17 00:00:00 2001 From: yalefresne Date: Sun, 23 Mar 2025 17:10:38 +0100 Subject: [PATCH] Feat: Add git related actions --- utils/utils.go | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/utils/utils.go b/utils/utils.go index b8f68d8..dc467ba 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -6,6 +6,7 @@ import ( "io" "log" "os" + "os/exec" "path/filepath" "runtime" "strings" @@ -43,6 +44,58 @@ func RemoveQuote(s string) string { return s } +// Git functions +func GitClone(repository string) { + git := exec.Command("git", "clone", repository) + err := git.Start() + + log.Printf("git clone %s", repository) + + if err != nil { + log.Fatal(err) + } + + err = git.Wait() + + if err != nil { + log.Printf("Command finished with error: %v", err) + } +} + +func GitPull() { + git := exec.Command("git", "pull") + err := git.Start() + + log.Printf("git pull") + + if err != nil { + log.Fatal(err) + } + + err = git.Wait() + + if err != nil { + log.Printf("Command finished with error: %v", err) + } +} + +func GitCheckout(branch string) { + git := exec.Command("git", "checkout", branch) + err := git.Start() + + log.Printf("git checkout %s", branch) + + if err != nil { + log.Fatal(err) + } + + err = git.Wait() + + if err != nil { + log.Printf("Command finished with error: %v", err) + } +} + // Others utils functions func AskForConfirmation(s string, reader io.Reader, writer io.Writer) bool {