From 0424a0fa19cbd2d2110d748a0ff3c014615aa17e Mon Sep 17 00:00:00 2001 From: Amine Hilaly Date: Sat, 8 Jun 2019 23:14:35 +0200 Subject: [commands] bridge: add push sub command [commands] bridge: use cobra max args --- commands/bridge_push.go | 53 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 commands/bridge_push.go (limited to 'commands/bridge_push.go') diff --git a/commands/bridge_push.go b/commands/bridge_push.go new file mode 100644 index 00000000..19b5fc4f --- /dev/null +++ b/commands/bridge_push.go @@ -0,0 +1,53 @@ +package commands + +import ( + "time" + + "github.com/spf13/cobra" + + "github.com/MichaelMure/git-bug/bridge" + "github.com/MichaelMure/git-bug/bridge/core" + "github.com/MichaelMure/git-bug/cache" + "github.com/MichaelMure/git-bug/util/interrupt" +) + +func runBridgePush(cmd *cobra.Command, args []string) error { + backend, err := cache.NewRepoCache(repo) + if err != nil { + return err + } + defer backend.Close() + interrupt.RegisterCleaner(backend.Close) + + var b *core.Bridge + + if len(args) == 0 { + b, err = bridge.DefaultBridge(backend) + } else { + b, err = bridge.NewBridgeFromFullName(backend, args[0]) + } + + if err != nil { + return err + } + + // TODO: by default export only new events + err = b.ExportAll(time.Time{}) + if err != nil { + return err + } + + return nil +} + +var bridgePushCmd = &cobra.Command{ + Use: "push []", + Short: "Push updates.", + PreRunE: loadRepo, + RunE: runBridgePush, + Args: cobra.MaximumNArgs(1), +} + +func init() { + bridgeCmd.AddCommand(bridgePushCmd) +} -- cgit