From 682f0b6426a06ed1e89b130d50c6521b1c67d529 Mon Sep 17 00:00:00 2001 From: Sean McAllister Date: Mon, 18 May 2020 09:15:51 -0600 Subject: Fix how we format the full destination branch when uploading. If the dest-branch attribute is set in the project manifest, then we need to push to that branch. Previously, we would unconditionally pre-pend the refs/heads prefix to it. The dest-branch attribute is allowed to be a ref expression though, so it may already have it. Simple fix is to check if it already has the prefix before adding it. Bug: crbug.com/gerrit/12770 Change-Id: I45d6107ed6cf305cf223023b0ddad4278f7f4146 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/268152 Reviewed-by: Mike Frysinger Tested-by: Sean McAllister --- subcmds/upload.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'subcmds/upload.py') diff --git a/subcmds/upload.py b/subcmds/upload.py index cf3c8a9f..3dd9fd25 100644 --- a/subcmds/upload.py +++ b/subcmds/upload.py @@ -23,6 +23,7 @@ from command import InteractiveCommand from editor import Editor from error import HookError, UploadError from git_command import GitCommand +from git_refs import R_HEADS from project import RepoHook from pyversion import is_python3 @@ -462,7 +463,10 @@ Gerrit Code Review: https://www.gerritcodereview.com/ # Make sure our local branch is not setup to track a different remote branch merge_branch = self._GetMergeBranch(branch.project) if destination: - full_dest = 'refs/heads/%s' % destination + full_dest = destination + if not full_dest.startswith(R_HEADS): + full_dest = R_HEADS + full_dest + if not opt.dest_branch and merge_branch and merge_branch != full_dest: print('merge branch %s does not match destination branch %s' % (merge_branch, full_dest)) -- cgit v1.2.3-54-g00ecf