1package commands
2
3import (
4 "errors"
5 "fmt"
6
7 "github.com/MichaelMure/git-bug/cache"
8 "github.com/spf13/cobra"
9)
10
11func runLabelAdd(cmd *cobra.Command, args []string) error {
12 if len(args) == 0 {
13 return errors.New("You must provide a bug id")
14 }
15
16 backend, err := cache.NewRepoCache(repo)
17 if err != nil {
18 return err
19 }
20 defer backend.Close()
21
22 prefix := args[0]
23 add := args[1:]
24
25 b, err := backend.ResolveBugPrefix(prefix)
26 if err != nil {
27 return err
28 }
29
30 changes, err := b.ChangeLabels(add, nil)
31
32 for _, change := range changes {
33 fmt.Println(change)
34 }
35
36 if err != nil {
37 return err
38 }
39
40 return b.Commit()
41}
42
43var labelAddCmd = &cobra.Command{
44 Use: "add <id> [<label>...]",
45 Short: "Add a label to a bug",
46 RunE: runLabelAdd,
47}
48
49func init() {
50 labelCmd.AddCommand(labelAddCmd)
51}