1package commands
2
3import (
4 "time"
5
6 "github.com/MichaelMure/git-bug/bridge"
7 "github.com/MichaelMure/git-bug/bridge/core"
8 "github.com/MichaelMure/git-bug/cache"
9 "github.com/MichaelMure/git-bug/util/interrupt"
10 "github.com/spf13/cobra"
11)
12
13func runBridgePull(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 var b *core.Bridge
22
23 if len(args) == 0 {
24 b, err = bridge.DefaultBridge(backend)
25 } else {
26 b, err = bridge.NewBridgeFromFullName(backend, args[0])
27 }
28
29 if err != nil {
30 return err
31 }
32
33 // TODO: by default import only new events
34 err = b.ImportAll(time.Time{})
35 if err != nil {
36 return err
37 }
38
39 return nil
40}
41
42var bridgePullCmd = &cobra.Command{
43 Use: "pull [<name>]",
44 Short: "Pull updates.",
45 PreRunE: loadRepo,
46 RunE: runBridgePull,
47}
48
49func init() {
50 bridgeCmd.AddCommand(bridgePullCmd)
51}