From cfcc47529dde0b7c82428ac3df8acee6c8648ccf Mon Sep 17 00:00:00 2001
From: Ryan Schneider <ryanleeschneider@gmail.com>
Date: Mon, 8 Oct 2018 07:08:56 -0700
Subject: [PATCH] cmd/utils: fix bug when checking for flag value conflicts
 (#17803)

---
 cmd/utils/flags.go | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go
index b48f37177..429c2bbb9 100644
--- a/cmd/utils/flags.go
+++ b/cmd/utils/flags.go
@@ -1085,11 +1085,14 @@ func checkExclusive(ctx *cli.Context, args ...interface{}) {
 		if i+1 < len(args) {
 			switch option := args[i+1].(type) {
 			case string:
-				// Extended flag, expand the name and shift the arguments
+				// Extended flag check, make sure value set doesn't conflict with passed in option
 				if ctx.GlobalString(flag.GetName()) == option {
 					name += "=" + option
+					set = append(set, "--"+name)
 				}
+				// shift arguments and continue
 				i++
+				continue
 
 			case cli.Flag:
 			default:
-- 
GitLab