branch_util: version bumping rejected by git due to COIL changes

Gerrit refused version bumping on source branch due to COIL changes.
Now that master no longer exist on the source branch we convert it
to main.

.gitignore expanded to ignore local VS Code files.

BUG=chromium:1163216
TEST=pushed branches; unit test

Change-Id: I735c6bc6297753e34651e37eb7b713952d1e9dad
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/infra/go/+/2626108
Commit-Queue: Julio Hurtado <juahurta@google.com>
Tested-by: Julio Hurtado <juahurta@google.com>
Reviewed-by: Mike Nichols <mikenichols@chromium.org>
Reviewed-by: Sean Abraham <seanabraham@chromium.org>
diff --git a/.gitignore b/.gitignore
index 50b629b..d15cc2b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,5 +7,8 @@
 *.iml
 .idea/
 
+# VS Code local files
+.vscode/
+
 # branch_util binary
 */branch_util/branch_util
\ No newline at end of file
diff --git a/cmd/branch_util/create.go b/cmd/branch_util/create.go
index 2363486..cc6425c 100644
--- a/cmd/branch_util/create.go
+++ b/cmd/branch_util/create.go
@@ -195,6 +195,14 @@
 	}
 	sourceRevision := manifestInternal.Revision
 	sourceUpstream := git.StripRefs(manifestInternal.Upstream)
+
+	// This string replacement is needed since chromiumos-overlay's master branch
+	// has been renamed to main. This replacement swaps the name so the correct
+	// upstream is used. crbug.com/1163216 for reference.
+	if sourceUpstream == "master" {
+		sourceUpstream = "main"
+	}
+
 	branch.LogErr("Using sourceRevision %s for manifestInternal", sourceRevision)
 	branch.LogErr("Using sourceUpstream %s for manifestInternal", sourceUpstream)