From 5ac6d91525350ef561658b39e9308d37cd1be01e Mon Sep 17 00:00:00 2001 From: Harshavardhana Date: Fri, 15 Jul 2022 16:00:34 -0700 Subject: [PATCH] support 'admin update' for hotfix versions (#15308) hotfixed versions are rejected as invalid, allow `mc admin update` from hotfix repos. --- cmd/update.go | 2 +- cmd/update_test.go | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/cmd/update.go b/cmd/update.go index e87f1ecb8..45d5b2d27 100644 --- a/cmd/update.go +++ b/cmd/update.go @@ -76,7 +76,7 @@ func releaseTimeToReleaseTag(releaseTime time.Time) string { // releaseTagToReleaseTime - reverse of `releaseTimeToReleaseTag()` func releaseTagToReleaseTime(releaseTag string) (releaseTime time.Time, err error) { fields := strings.Split(releaseTag, ".") - if len(fields) < 2 || len(fields) > 3 { + if len(fields) < 2 || len(fields) > 4 { return releaseTime, fmt.Errorf("%s is not a valid release tag", releaseTag) } if fields[0] != "RELEASE" { diff --git a/cmd/update_test.go b/cmd/update_test.go index 60a069f8b..a673333d8 100644 --- a/cmd/update_test.go +++ b/cmd/update_test.go @@ -72,6 +72,14 @@ func TestReleaseTagToNFromTimeConversion(t *testing.T) { time.Now().UTC(), "DEVELOPMENT.GOGET", "DEVELOPMENT.GOGET is not a valid release tag", }, + { + time.Date(2017, time.August, 5, 0, 0, 53, 0, utcLoc), + "RELEASE.2017-08-05T00-00-53Z.hotfix", "", + }, + { + time.Date(2017, time.August, 5, 0, 0, 53, 0, utcLoc), + "RELEASE.2017-08-05T00-00-53Z.hotfix.aaaa", "", + }, } for i, testCase := range testCases { if testCase.errStr != "" {