From a303fdfd413a316c6934b837ab1c5e222722c0e8 Mon Sep 17 00:00:00 2001 From: Max Resnick Date: Sat, 13 Apr 2024 23:54:49 -0700 Subject: feat: add switch to print prior version --- main.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'main.go') diff --git a/main.go b/main.go index dba9462..8fd73a1 100644 --- a/main.go +++ b/main.go @@ -132,7 +132,9 @@ var ( validPartArgs = []string{"major", "minor", "patch"} preReleaseFmtArgs = make(map[string]string) preRelease bool - rootCmd = &cobra.Command{ + printLastVersion bool + + rootCmd = &cobra.Command{ Use: "bumpver part [major|minor|patch] file [-|file]", Short: "A tool for bumping semver git tags.", Example: cmdExamples, @@ -169,6 +171,10 @@ var ( if (lastVersion == &semver.Version{}) { return errors.New("No tags found. Not doing anything") } + if printLastVersion { + fmt.Fprint(cmd.OutOrStdout(), lastVersion) + return nil + } versionPart := "" if preRelease { versionPart = part @@ -274,6 +280,7 @@ func init() { } rootCmd.PersistentFlags().BoolVarP(&preRelease, "prerelease", "p", false, "create a prerelease tag for the (major|minor|patch)") + rootCmd.PersistentFlags().BoolVarP(&printLastVersion, "last-version", "l", false, "print version just before the bump that would occur") rootCmd.PersistentFlags().String("prerelease-fmt", "PR.$KeyArg PR_NUM.$BumpInt", "The format string for prerelease versions") rootCmd.PersistentFlags().StringToStringVarP(&preReleaseFmtArgs, "key-args", "k", nil, "key=arg for the fmt string") rootCmd.PersistentFlags().String("repo-dir", cwd, "repo to examine") -- cgit v1.2.3