diff options
author | Amine Hilaly <hilalyamine@gmail.com> | 2019-06-08 23:14:35 +0200 |
---|---|---|
committer | Amine Hilaly <hilalyamine@gmail.com> | 2019-06-24 21:19:43 +0200 |
commit | 0424a0fa19cbd2d2110d748a0ff3c014615aa17e (patch) | |
tree | 6d607dd2007dd5081b067746b7dd06cd649aa08c /commands/bridge_push.go | |
parent | aa4464dbba0b1e0ce39ae53e35971e6924d404d3 (diff) | |
download | git-bug-0424a0fa19cbd2d2110d748a0ff3c014615aa17e.tar.gz |
[commands] bridge: add push sub command
[commands] bridge: use cobra max args
Diffstat (limited to 'commands/bridge_push.go')
-rw-r--r-- | commands/bridge_push.go | 53 |
1 files changed, 53 insertions, 0 deletions
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 [<name>]", + Short: "Push updates.", + PreRunE: loadRepo, + RunE: runBridgePush, + Args: cobra.MaximumNArgs(1), +} + +func init() { + bridgeCmd.AddCommand(bridgePushCmd) +} |