aboutsummaryrefslogtreecommitdiffstats
path: root/bridge/github/import.go
diff options
context:
space:
mode:
Diffstat (limited to 'bridge/github/import.go')
-rw-r--r--bridge/github/import.go18
1 files changed, 15 insertions, 3 deletions
diff --git a/bridge/github/import.go b/bridge/github/import.go
index d2e5d659..619c1c1e 100644
--- a/bridge/github/import.go
+++ b/bridge/github/import.go
@@ -62,11 +62,12 @@ func (gi *githubImporter) ImportAll(ctx context.Context, repo *cache.RepoCache,
// We need the current event and one look ahead event.
currEvent = nextEvent
if currEvent == nil {
- currEvent = gi.mediator.NextImportEvent()
+ currEvent = gi.getEventHandleMsgs()
}
if currEvent == nil {
break
}
+ nextEvent = gi.getEventHandleMsgs()
switch event := currEvent.(type) {
case MessageEvent:
@@ -78,7 +79,6 @@ func (gi *githubImporter) ImportAll(ctx context.Context, repo *cache.RepoCache,
return
}
// second: create new issue
- nextEvent = gi.mediator.NextImportEvent()
switch next := nextEvent.(type) {
case IssueEditEvent:
// consuming and using next event
@@ -100,7 +100,6 @@ func (gi *githubImporter) ImportAll(ctx context.Context, repo *cache.RepoCache,
return
}
case TimelineEvent:
- nextEvent = gi.mediator.NextImportEvent()
if next, ok := nextEvent.(CommentEditEvent); ok && event.Typename == "IssueComment" {
// consuming and using next event
nextEvent = nil
@@ -136,6 +135,19 @@ func (gi *githubImporter) ImportAll(ctx context.Context, repo *cache.RepoCache,
return out, nil
}
+func (gi *githubImporter) getEventHandleMsgs() ImportEvent {
+ for {
+ // read event from import mediator
+ event := gi.mediator.NextImportEvent()
+ // consume (and use) all message events
+ if e, ok := event.(MessageEvent); ok {
+ fmt.Println(e.msg)
+ continue
+ }
+ return event
+ }
+}
+
func (gi *githubImporter) commit(b *cache.BugCache, out chan<- core.ImportResult) error {
if b == nil {
return nil