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 if err != nil {
32 return err
33 }
34
35 for _, change := range changes {
36 fmt.Println(change)
37 }
38
39 return b.Commit()
40}
41
42var labelAddCmd = &cobra.Command{
43 Use: "add <id> [<label>...]",
44 Short: "Add a label to a bug",
45 RunE: runLabelAdd,
46}
47
48func init() {
49 labelCmd.AddCommand(labelAddCmd)
50}