1package commands
 2
 3import (
 4	"github.com/MichaelMure/git-bug/bridge"
 5	"github.com/MichaelMure/git-bug/bridge/core"
 6	"github.com/MichaelMure/git-bug/cache"
 7	"github.com/MichaelMure/git-bug/util/interrupt"
 8	"github.com/spf13/cobra"
 9)
10
11func runBridgePull(cmd *cobra.Command, args []string) error {
12	backend, err := cache.NewRepoCache(repo)
13	if err != nil {
14		return err
15	}
16	defer backend.Close()
17	interrupt.RegisterCleaner(backend.Close)
18
19	var b *core.Bridge
20
21	if len(args) == 0 {
22		b, err = bridge.DefaultBridge(backend)
23	} else {
24		b, err = bridge.NewBridgeFromFullName(backend, args[0])
25	}
26
27	if err != nil {
28		return err
29	}
30
31	err = b.ImportAll()
32	if err != nil {
33		return err
34	}
35
36	return nil
37}
38
39var bridgePullCmd = &cobra.Command{
40	Use:     "pull [<name>]",
41	Short:   "Pull updates.",
42	PreRunE: loadRepo,
43	RunE:    runBridgePull,
44}
45
46func init() {
47	bridgeCmd.AddCommand(bridgePullCmd)
48}