package main import ( "flag" "fmt" "os" "gitea.layla.gg/layla/gsquash/git" ) var Version string = "0.0.1" func main() { // Set flags flagset := flag.NewFlagSet("git", flag.ExitOnError) pull := flagset.Bool("pull", false, "Pull the latest changes from the remote") message := flagset.String("m", "", "The commit message") version := flagset.Bool("v", false, "Print the version") help := flagset.Bool("h", false, "Print the help") // Parse flags flagset.Parse(os.Args[1:]) // Print version if *version { fmt.Printf("gsquash version %s\n", Version) return } // Help if *help { println("Usage: gsquash [options] [message]") flagset.PrintDefaults() return } // Set up git g := git.NewGit(&git.NewGitInput{ Executable: "git", }) // Pull if *pull { err := g.Pull() if err != nil { panic(err) } } squashInput := git.SquashInput{} if message != nil && *message != "" { squashInput.Message = message } // Squash err := g.Squash(squashInput) if err != nil { panic(err) } }