2021-03-08 17:50:01 +00:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
"os"
|
|
|
|
"os/exec"
|
|
|
|
"runtime"
|
|
|
|
"strings"
|
|
|
|
)
|
|
|
|
|
|
|
|
func validateos() {
|
|
|
|
if runtime.GOOS == "windows" {
|
|
|
|
fmt.Println("Can't Execute this on a windows machine")
|
|
|
|
os.Exit(1)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-03-08 21:27:15 +00:00
|
|
|
func execute(cmdstr string) string {
|
2021-03-08 17:50:01 +00:00
|
|
|
|
|
|
|
validateos()
|
|
|
|
|
|
|
|
var cmdargs = strings.Split(cmdstr, " ") // string arrayified
|
|
|
|
var cmd = cmdargs[0] // command
|
|
|
|
cmdargs = append(cmdargs[:0], cmdargs[1:]...) // argument array sans cmd
|
|
|
|
out, err := exec.Command(cmd, cmdargs...).CombinedOutput()
|
2021-03-08 21:27:15 +00:00
|
|
|
var output string
|
|
|
|
|
2021-03-08 17:50:01 +00:00
|
|
|
if err != nil {
|
2021-03-08 21:27:15 +00:00
|
|
|
output = err.Error()
|
|
|
|
} else {
|
|
|
|
output = string(out[:])
|
2021-03-08 17:50:01 +00:00
|
|
|
}
|
2021-03-08 21:27:15 +00:00
|
|
|
return output
|
2021-03-08 17:50:01 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func main() {
|
2021-03-08 21:27:15 +00:00
|
|
|
gitver := execute("git --version")
|
2021-03-09 09:39:30 +00:00
|
|
|
verno := strings.Split(gitver, " ")[2]
|
|
|
|
fmt.Println(verno)
|
2021-03-08 22:43:59 +00:00
|
|
|
|
|
|
|
gcnf := execute("git config -l")
|
|
|
|
|
|
|
|
config := strings.Split(gcnf, "\n")
|
|
|
|
for i, v := range config {
|
|
|
|
entry := strings.Split(v, "=")
|
|
|
|
if len(entry) < 2 {
|
|
|
|
continue
|
|
|
|
}
|
|
|
|
key := entry[0]
|
|
|
|
val := entry[1]
|
|
|
|
fmt.Printf("%d: %s = '%s' \n", i, key, val)
|
|
|
|
}
|
|
|
|
|
|
|
|
glog := execute("git log --oneline")
|
|
|
|
logarray := strings.Split(glog, "\n")
|
|
|
|
for _, v := range logarray {
|
|
|
|
entryarray := strings.SplitN(v, " ", 2)
|
|
|
|
if len(entryarray) < 2 {
|
|
|
|
continue
|
|
|
|
}
|
|
|
|
commitid := entryarray[0]
|
|
|
|
reason := entryarray[1]
|
|
|
|
fmt.Println(commitid, reason)
|
|
|
|
}
|
2021-03-08 17:50:01 +00:00
|
|
|
}
|