diff options
author | Michael Muré <batolettre@gmail.com> | 2018-09-13 12:20:28 +0200 |
---|---|---|
committer | Michael Muré <batolettre@gmail.com> | 2018-09-13 12:20:28 +0200 |
commit | f569e6aacc0690e7b1bebf33a10a8e0d154937df (patch) | |
tree | c17ac2201b7abbc6889137d968c8450dc3099f9a /commands/label.go | |
parent | 8a25c63d6972d9168dcb3599066076bdb84f8790 (diff) | |
download | git-bug-f569e6aacc0690e7b1bebf33a10a8e0d154937df.tar.gz |
operations: return a more convenient array of result for label changes
Diffstat (limited to 'commands/label.go')
-rw-r--r-- | commands/label.go | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/commands/label.go b/commands/label.go index f5e3a6fc..37013f3f 100644 --- a/commands/label.go +++ b/commands/label.go @@ -2,9 +2,10 @@ package commands import ( "errors" - "os" + "fmt" "github.com/MichaelMure/git-bug/cache" + "github.com/MichaelMure/git-bug/operations" "github.com/spf13/cobra" ) @@ -40,7 +41,25 @@ func runLabel(cmd *cobra.Command, args []string) error { return err } - err = b.ChangeLabels(os.Stdout, add, remove) + changes, err := b.ChangeLabels(add, remove) + + for _, change := range changes { + switch change.Status { + case operations.LabelChangeAdded: + fmt.Printf("label %s added\n", change.Label) + case operations.LabelChangeRemoved: + fmt.Printf("label %s removed\n", change.Label) + case operations.LabelChangeDuplicateInOp: + fmt.Printf("label %s is a duplicate\n", change.Label) + case operations.LabelChangeAlreadySet: + fmt.Printf("label %s was already set\n", change.Label) + case operations.LabelChangeDoesntExist: + fmt.Printf("label %s doesn't exist on this bug\n", change.Label) + default: + panic(fmt.Sprintf("unknown label change status %v", change.Status)) + } + } + if err != nil { return err } |