From 5ca326af83b90531d4d0c502bb1beabbe1b48c55 Mon Sep 17 00:00:00 2001 From: Amine Hilaly Date: Tue, 13 Aug 2019 19:51:14 +0200 Subject: bridge/core: add context.Context to ImportAll and ExportAll signatures bridge/core: add ImportResult objects to stream import events bridge/core: launchpad support asynchronous import bridge/github: cancellable export and import functions bridge/gitlab: cancellable export and import functions commands: bridge pull/push gracefull kill bridge/github: fix github import bridge/github: use simple context for imports bridge/core: name parameters in interfaces github/core: Add EventError to export and import events types bridge/gitlab: add context support in gitlab requests functions bridge/gitlab: remove imported events count from importer logic bridge/github: remove imported events count from importer logic bridge/github: add context support in query and muration requets bridge/github: fix bug duplicate editions after multiple calls bridge/core: import import and export events String methods bridge/gitlab: fix error handling in note import events commands/bridge: Add statistics about imports and exports bridge/gitlab: properly handle context cancellation bridge/github: improve error handling bridge: break iterators on context cancel or timeout bridge: add context timeout support bridge: improve event formating and error handling commands: handle interrupt and switch cases bridge/github: add export mutation timeouts bridge: fix race condition bug in the github and gitlab importers bridge/github: improve context error handling --- bridge/core/export.go | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) (limited to 'bridge/core/export.go') diff --git a/bridge/core/export.go b/bridge/core/export.go index 09566b62..55cf5a60 100644 --- a/bridge/core/export.go +++ b/bridge/core/export.go @@ -17,6 +17,7 @@ const ( ExportEventTitleEdition ExportEventLabelChange ExportEventNothing + ExportEventError ) // ExportResult is an event that is emitted during the export process, to @@ -32,19 +33,28 @@ type ExportResult struct { func (er ExportResult) String() string { switch er.Event { case ExportEventBug: - return "new issue" + return fmt.Sprintf("new issue: %s", er.ID) case ExportEventComment: - return "new comment" + return fmt.Sprintf("new comment: %s", er.ID) case ExportEventCommentEdition: - return "updated comment" + return fmt.Sprintf("updated comment: %s", er.ID) case ExportEventStatusChange: - return "changed status" + return fmt.Sprintf("changed status: %s", er.ID) case ExportEventTitleEdition: - return "changed title" + return fmt.Sprintf("changed title: %s", er.ID) case ExportEventLabelChange: - return "changed label" + return fmt.Sprintf("changed label: %s", er.ID) case ExportEventNothing: - return fmt.Sprintf("no event: %v", er.Reason) + if er.ID != "" { + return fmt.Sprintf("ignoring export event %s: %s", er.ID, er.Reason) + } + return fmt.Sprintf("ignoring export event: %s", er.Reason) + case ExportEventError: + if er.ID != "" { + return fmt.Sprintf("export error at %s: %s", er.ID, er.Err.Error()) + } + return fmt.Sprintf("export error: %s", er.Err.Error()) + default: panic("unknown export result") } -- cgit From df412430ab35106df57bc32d6dd01bd088bf4735 Mon Sep 17 00:00:00 2001 From: Amine Hilaly Date: Sat, 17 Aug 2019 23:46:10 +0200 Subject: bridge/github: improve error handling and Nothing events vendor: add package golang.org/x/sync/errgroup --- bridge/core/export.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'bridge/core/export.go') diff --git a/bridge/core/export.go b/bridge/core/export.go index 55cf5a60..ceae1401 100644 --- a/bridge/core/export.go +++ b/bridge/core/export.go @@ -46,9 +46,9 @@ func (er ExportResult) String() string { return fmt.Sprintf("changed label: %s", er.ID) case ExportEventNothing: if er.ID != "" { - return fmt.Sprintf("ignoring export event %s: %s", er.ID, er.Reason) + return fmt.Sprintf("no actions taken for event %s: %s", er.ID, er.Reason) } - return fmt.Sprintf("ignoring export event: %s", er.Reason) + return fmt.Sprintf("no actions taken: %s", er.Reason) case ExportEventError: if er.ID != "" { return fmt.Sprintf("export error at %s: %s", er.ID, er.Err.Error()) -- cgit