aboutsummaryrefslogtreecommitdiffstats
path: root/_examples/merge_base/helpers.go
diff options
context:
space:
mode:
Diffstat (limited to '_examples/merge_base/helpers.go')
-rw-r--r--_examples/merge_base/helpers.go61
1 files changed, 61 insertions, 0 deletions
diff --git a/_examples/merge_base/helpers.go b/_examples/merge_base/helpers.go
new file mode 100644
index 0000000..b7b1ed6
--- /dev/null
+++ b/_examples/merge_base/helpers.go
@@ -0,0 +1,61 @@
+package main
+
+import (
+ "fmt"
+ "os"
+ "strings"
+
+ "gopkg.in/src-d/go-git.v4/plumbing/object"
+)
+
+func checkIfError(err error, code exitCode, mainReason string, v ...interface{}) {
+ if err == nil {
+ return
+ }
+
+ printErr(wrappErr(err, mainReason, v...))
+ os.Exit(int(code))
+}
+
+func helpAndExit(s string, helpMsg string, code exitCode) {
+ if code == exitCodeSuccess {
+ printMsg("%s", s)
+ } else {
+ printErr(fmt.Errorf(s))
+ }
+
+ fmt.Println(strings.Replace(helpMsg, "%_COMMAND_NAME_%", os.Args[0], -1))
+
+ os.Exit(int(code))
+}
+
+func printErr(err error) {
+ fmt.Printf("\x1b[31;1m%s\x1b[0m\n", fmt.Sprintf("error: %s", err))
+}
+
+func printMsg(format string, args ...interface{}) {
+ fmt.Printf("%s\n", fmt.Sprintf(format, args...))
+}
+
+func printCommits(commits []*object.Commit) {
+ for _, commit := range commits {
+ if os.Getenv("LOG_LEVEL") == "verbose" {
+ fmt.Printf(
+ "\x1b[36;1m%s \x1b[90;21m%s\x1b[0m %s\n",
+ commit.Hash.String()[:7],
+ commit.Hash.String(),
+ strings.Split(commit.Message, "\n")[0],
+ )
+ } else {
+ fmt.Println(commit.Hash.String())
+ }
+ }
+}
+
+func wrappErr(err error, s string, v ...interface{}) error {
+ if err != nil {
+ return fmt.Errorf("%s\n %s", fmt.Sprintf(s, v...), err)
+ }
+
+ return nil
+}