From 3c7a2afda673fc2afbf3f3cf18cf020937f2e267 Mon Sep 17 00:00:00 2001 From: Noah Hilverling Date: Wed, 7 Aug 2019 14:43:06 +0200 Subject: [PATCH] Delta: Allow ID duplicates --- utils/delta.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/utils/delta.go b/utils/delta.go index fd384dd3..39570552 100644 --- a/utils/delta.go +++ b/utils/delta.go @@ -3,27 +3,27 @@ package utils func Delta(a []string, b []string) ([]string, []string, []string) { maintained := make([]string, 0) dismissed := make([]string, 0) - hash := make(map[string]bool) + hash := make(map[string]int) for _, item := range a { - hash[item] = true + hash[item] = 1 } for _, item := range b { - if hash[item] { + if hash[item] > 0 { maintained = append(maintained, item) - delete(hash, item) + hash[item] = 2 } else { dismissed = append(dismissed, item) } } - introduced := make([]string, len(hash)) + introduced := make([]string, 0) - i := 0 - for k := range hash { - introduced[i] = k - i++ + for k, v := range hash { + if v == 1 { + introduced = append(introduced, k) + } } return introduced, maintained, dismissed