commands: only return the error (not the function help) when no identity is set

Michael Muré created

... to avoid misleading a user into thinking the usage was incorrect

Change summary

commands/root.go     | 4 +++-
identity/identity.go | 2 +-
2 files changed, 4 insertions(+), 2 deletions(-)

Detailed changes

commands/root.go 🔗

@@ -88,7 +88,9 @@ func loadRepoEnsureUser(cmd *cobra.Command, args []string) error {
 	}
 
 	if !set {
-		return identity.ErrNoIdentitySet
+		// Print the error directly to not confuse a user
+		_, _ = fmt.Fprintln(os.Stderr, identity.ErrNoIdentitySet.Error())
+		os.Exit(-1)
 	}
 
 	return nil

identity/identity.go 🔗

@@ -25,7 +25,7 @@ const idLength = 40
 const humanIdLength = 7
 
 var ErrNonFastForwardMerge = errors.New("non fast-forward identity merge")
-var ErrNoIdentitySet = errors.New("user identity first needs to be created using \"git bug user create\" or \"git bug user adopt\"")
+var ErrNoIdentitySet = errors.New("to interact with bugs, an identity first needs to be created using \"git bug user create\" or \"git bug user adopt\"")
 var ErrMultipleIdentitiesSet = errors.New("multiple user identities set")
 
 var _ Interface = &Identity{}