33 lines
757 B
Go
33 lines
757 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"os/exec"
|
|
"strings"
|
|
)
|
|
|
|
func signingCmd(args []string) {
|
|
if len(args) != 1 {
|
|
usage()
|
|
}
|
|
checkout := args[0]
|
|
gitOut(checkout, "config", "commit.gpgsign", "true")
|
|
signing := gitOut(checkout, "config", "--type=bool", "--get", "commit.gpgsign")
|
|
if signing != "true" {
|
|
fatal("checkout's commit.gpgsign is not true after setting it", "checkout", checkout, "value", signing)
|
|
}
|
|
fmt.Printf("%s: commit.gpgsign %s\n", checkout, signing)
|
|
}
|
|
|
|
func gitOut(dir string, args ...string) string {
|
|
cmd := exec.Command("git", args...)
|
|
cmd.Dir = dir
|
|
cmd.Stderr = os.Stderr
|
|
out, err := cmd.Output()
|
|
if err != nil {
|
|
fatal("git failed", "args", strings.Join(args, " "), "err", err)
|
|
}
|
|
return strings.TrimSpace(string(out))
|
|
}
|