From e1ed2a76b16cb1acba39dd841e2dd1425e4daf09 Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Sun, 11 Oct 2020 22:56:51 +0200 Subject: [PATCH] Migration Tool: Backport GitLab Label Color Normalizer (#12793) (#13100) fix bug mentioned in #13085 backport of #12793 --- modules/migrations/gitlab.go | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/modules/migrations/gitlab.go b/modules/migrations/gitlab.go index cca036aa2..09e1a77d3 100644 --- a/modules/migrations/gitlab.go +++ b/modules/migrations/gitlab.go @@ -241,6 +241,19 @@ func (g *GitlabDownloader) GetMilestones() ([]*base.Milestone, error) { return milestones, nil } +func (g *GitlabDownloader) normalizeColor(val string) string { + val = strings.TrimLeft(val, "#") + val = strings.ToLower(val) + if len(val) == 3 { + c := []rune(val) + val = fmt.Sprintf("%c%c%c%c%c%c", c[0], c[0], c[1], c[1], c[2], c[2]) + } + if len(val) != 6 { + return "" + } + return val +} + // GetLabels returns labels func (g *GitlabDownloader) GetLabels() ([]*base.Label, error) { if g == nil { @@ -259,7 +272,7 @@ func (g *GitlabDownloader) GetLabels() ([]*base.Label, error) { for _, label := range ls { baseLabel := &base.Label{ Name: label.Name, - Color: strings.TrimLeft(label.Color, "#)"), + Color: g.normalizeColor(label.Color), Description: label.Description, } labels = append(labels, baseLabel)