Select Git revision
git.go 1.84 KiB
package mage_helpers
import (
"fmt"
"os/exec"
"strings"
"github.com/Masterminds/semver"
)
func HasChanges(previousCommit string, folder string) bool {
fmt.Println(fmt.Sprintf("Comparing changes from: %v for %v", previousCommit, folder))
commandArgs := []string{
`diff`,
`--name-only`,
previousCommit + `..HEAD`,
folder,
}
cmd := exec.Command("git", commandArgs...)
output, err := cmd.CombinedOutput()
if err != nil {
fmt.Println(err)
}
changes := strings.Fields(string(output))
if len(changes) > 0 {
fmt.Println(fmt.Sprintf("Has %v changes", folder))
return true
}
fmt.Println("No changes")
return false
}
func CurrentCommit() string {
commandArgs := []string{
`rev-parse`,
`--short`,
`HEAD`,
}
cmd := exec.Command("git", commandArgs...)
output, err := cmd.CombinedOutput()
if err != nil {
fmt.Println(err)
}
return string(output)
}
func CreateReleaseTag() {
// Get version and increase version number
previousVersion, err := semver.NewVersion(GetLatestGitTag())
if err != nil {
fmt.Println(err)
}
fmt.Println(previousVersion)
newVersion := previousVersion.IncMinor()
fmt.Println(newVersion)
// Create git tag
newTagName := newVersion.Original()
commandArgs := []string{
`tag`,
newTagName,
}
cmd := exec.Command("git", commandArgs...)
_, err = cmd.CombinedOutput()
if err != nil {
fmt.Println(err)
}