package main import ( "flag" "os" "gitea.layla.gg/layla/gsquash/git" ) 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("version", false, "Print the version") help := flagset.Bool("h", false, "Print the help") // Parse flags flagset.Parse(os.Args[1:]) // Print version if *version { println("gsquash v0.0.1") 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) } }