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 From 6d9ba4aba21f9b7bd8322594678604966eca777e Mon Sep 17 00:00:00 2001 From: Amine Hilaly Date: Fri, 21 Jun 2019 00:09:20 +0200 Subject: rebase & fix push command --- commands/bridge_push.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'commands/bridge_push.go') diff --git a/commands/bridge_push.go b/commands/bridge_push.go index 19b5fc4f..8cae1684 100644 --- a/commands/bridge_push.go +++ b/commands/bridge_push.go @@ -24,7 +24,7 @@ func runBridgePush(cmd *cobra.Command, args []string) error { if len(args) == 0 { b, err = bridge.DefaultBridge(backend) } else { - b, err = bridge.NewBridgeFromFullName(backend, args[0]) + b, err = bridge.LoadBridge(backend, args[0]) } if err != nil { -- cgit From 1f365b236900d429cbfdaa1807163a110e6e4624 Mon Sep 17 00:00:00 2001 From: Amine Hilaly Date: Tue, 25 Jun 2019 01:33:48 +0200 Subject: [core] Implement ExportResults Use ExportResult chan to send export events Remove exportedBugs and exportedLabels --- commands/bridge_push.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'commands/bridge_push.go') diff --git a/commands/bridge_push.go b/commands/bridge_push.go index 8cae1684..11f5ca82 100644 --- a/commands/bridge_push.go +++ b/commands/bridge_push.go @@ -1,6 +1,7 @@ package commands import ( + "fmt" "time" "github.com/spf13/cobra" @@ -32,11 +33,19 @@ func runBridgePush(cmd *cobra.Command, args []string) error { } // TODO: by default export only new events - err = b.ExportAll(time.Time{}) + out, err := b.ExportAll(time.Time{}) if err != nil { return err } + for result := range out { + if result.Err != nil { + fmt.Println(result.Err, result.Reason) + } else { + fmt.Printf("%s: %s\n", result.String(), result.ID) + } + } + return nil } -- cgit