label rm.go

 1package commands
 2
 3import (
 4	"errors"
 5	"fmt"
 6
 7	"github.com/MichaelMure/git-bug/cache"
 8	"github.com/spf13/cobra"
 9)
10
11func runLabelRm(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	remove := args[1:]
24
25	b, err := backend.ResolveBugPrefix(prefix)
26	if err != nil {
27		return err
28	}
29
30	changes, err := b.ChangeLabels(nil, remove)
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 labelRmCmd = &cobra.Command{
44	Use:   "rm <id> [<label>...]",
45	Short: "Remove a label from a bug",
46	RunE:  runLabelRm,
47}
48
49func init() {
50	labelCmd.AddCommand(labelRmCmd)
51}