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