1package commands
2
3import (
4 "github.com/MichaelMure/git-bug/cache"
5 "github.com/MichaelMure/git-bug/commands/select"
6 "github.com/MichaelMure/git-bug/util/interrupt"
7 "github.com/spf13/cobra"
8)
9
10func runStatusClose(cmd *cobra.Command, args []string) error {
11 backend, err := cache.NewRepoCache(repo)
12 if err != nil {
13 return err
14 }
15 defer backend.Close()
16 interrupt.RegisterCleaner(backend.Close)
17
18 b, args, err := _select.ResolveBug(backend, args)
19 if err != nil {
20 return err
21 }
22
23 _, err = b.Close()
24 if err != nil {
25 return err
26 }
27
28 return b.Commit()
29}
30
31var closeCmd = &cobra.Command{
32 Use: "close [<id>]",
33 Short: "Mark a bug as closed",
34 PreRunE: loadRepo,
35 RunE: runStatusClose,
36}
37
38func init() {
39 statusCmd.AddCommand(closeCmd)
40}