1package commands
2
3import (
4 "fmt"
5
6 "github.com/spf13/cobra"
7
8 "github.com/MichaelMure/git-bug/cache"
9 "github.com/MichaelMure/git-bug/commands/select"
10 "github.com/MichaelMure/git-bug/util/interrupt"
11)
12
13func runLabelRm(cmd *cobra.Command, args []string) error {
14 backend, err := cache.NewRepoCache(repo)
15 if err != nil {
16 return err
17 }
18 defer backend.Close()
19 interrupt.RegisterCleaner(backend.Close)
20
21 b, args, err := _select.ResolveBug(backend, args)
22 if err != nil {
23 return err
24 }
25
26 changes, _, err := b.ChangeLabels(nil, args)
27
28 for _, change := range changes {
29 fmt.Println(change)
30 }
31
32 if err != nil {
33 return err
34 }
35
36 return b.Commit()
37}
38
39var labelRmCmd = &cobra.Command{
40 Use: "rm [<id>] <label>[...]",
41 Short: "Remove a label from a bug.",
42 PreRunE: loadRepo,
43 RunE: runLabelRm,
44}
45
46func init() {
47 labelCmd.AddCommand(labelRmCmd)
48}