diff --git a/tools/release/common_includes.py b/tools/release/common_includes.py index ee8c0f7266..1fb1ded263 100644 --- a/tools/release/common_includes.py +++ b/tools/release/common_includes.py @@ -331,9 +331,19 @@ class GitInterface(VCInterface): return "origin/candidates" def RemoteBranch(self, name): + # Assume that if someone "fully qualified" the ref, they know what they + # want. + if name.startswith('refs/'): + return name if name in ["candidates", "master"]: - return "origin/%s" % name - return "branch-heads/%s" % name + return "refs/remotes/origin/%s" % name + # Check if branch is in heads. + if self.Git("show-ref refs/remotes/origin/%s" % name).strip(): + return "refs/remotes/origin/%s" % name + # Check if branch is in branch-heads. + if self.Git("show-ref refs/remotes/branch-heads/%s" % name).strip(): + return "refs/remotes/branch-heads/%s" % name + self.Die("Can't find remote of %s" % name) def Tag(self, tag, remote, message): # Wait for the commit to appear. Assumes unique commit message titles (this diff --git a/tools/release/test_scripts.py b/tools/release/test_scripts.py index 58d1911a80..524ed25a91 100644 --- a/tools/release/test_scripts.py +++ b/tools/release/test_scripts.py @@ -1191,7 +1191,7 @@ LOG=N Cmd("git status -s -b -uno", "## some_branch\n"), Cmd("git fetch", ""), Cmd("git branch", " branch1\n* branch2\n"), - Cmd("git new-branch %s --upstream origin/candidates" % + Cmd("git new-branch %s --upstream refs/remotes/origin/candidates" % TEST_CONFIG["BRANCHNAME"], ""), Cmd(("git log --format=%H --grep=\"Port ab12345\" " "--reverse origin/master"), @@ -1253,12 +1253,12 @@ LOG=N Cmd("git fetch", ""), Cmd("git log -1 --format=%H --grep=\"" "Version 3.22.5.1 (cherry-pick)" - "\" origin/candidates", + "\" refs/remotes/origin/candidates", ""), Cmd("git fetch", ""), Cmd("git log -1 --format=%H --grep=\"" "Version 3.22.5.1 (cherry-pick)" - "\" origin/candidates", + "\" refs/remotes/origin/candidates", "hsh_to_tag"), Cmd("git tag 3.22.5.1 hsh_to_tag", ""), Cmd("git push origin 3.22.5.1", ""),