Reland "bot_update: Pass target-ref to gclient."

This is a reland of f61af56950

crrev.com/c/1592577 should fix the issues with the original change.

Original change's description:
> bot_update: Pass target-ref to gclient.
>
> Bug: 956807
> Recipe-Nontrivial-Roll: infra
> Recipe-Nontrivial-Roll: skia
> Recipe-Nontrivial-Roll: build_limited_scripts_slave
> Recipe-Nontrivial-Roll: build
> Change-Id: I4d786d989446b8c1e3f39ef78c3c99cfe70808c0
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1588502
> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
> Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>

Bug: 956807
Recipe-Nontrivial-Roll: infra
Recipe-Nontrivial-Roll: skia
Recipe-Nontrivial-Roll: build_limited_scripts_slave
Recipe-Nontrivial-Roll: build
Change-Id: I16c22cb6aeb8e9dc1f55d77b1f12987720da3480
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1613341
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
changes/41/1613341/5
Edward Lemur 7 years ago committed by Commit Bot
parent abe8aefc62
commit 99fe071354

@ -143,8 +143,12 @@ class BotUpdateApi(recipe_api.RecipeApi):
if patch: if patch:
repo_url = self.m.tryserver.gerrit_change_repo_url repo_url = self.m.tryserver.gerrit_change_repo_url
fetch_ref = self.m.tryserver.gerrit_change_fetch_ref fetch_ref = self.m.tryserver.gerrit_change_fetch_ref
target_ref = self.m.tryserver.gerrit_change_target_ref
if repo_url and fetch_ref: if repo_url and fetch_ref:
flags.append(['--patch_ref', '%s@%s' % (repo_url, fetch_ref)]) flags.append([
'--patch_ref',
'%s@%s:%s' % (repo_url, target_ref, fetch_ref),
])
if patch_refs: if patch_refs:
flags.extend( flags.extend(
['--patch_ref', patch_ref] ['--patch_ref', patch_ref]
@ -195,8 +199,8 @@ class BotUpdateApi(recipe_api.RecipeApi):
if fixed_revision: if fixed_revision:
fixed_revisions[name] = fixed_revision fixed_revisions[name] = fixed_revision
if fixed_revision.upper() == 'HEAD': if fixed_revision.upper() == 'HEAD':
# Sync to correct destination branch if HEAD was specified. # Sync to correct destination ref if HEAD was specified.
fixed_revision = self._destination_branch(cfg, name) fixed_revision = self._destination_ref(cfg, name)
# If we're syncing to a ref, we want to make sure it exists before # If we're syncing to a ref, we want to make sure it exists before
# trying to check it out. # trying to check it out.
if (fixed_revision.startswith('refs/') and if (fixed_revision.startswith('refs/') and
@ -368,13 +372,13 @@ class BotUpdateApi(recipe_api.RecipeApi):
return step_result return step_result
def _destination_branch(self, cfg, path): def _destination_ref(self, cfg, path):
"""Returns the destination branch of a CL for the matching project """Returns the ref branch of a CL for the matching project if available or
if available or HEAD otherwise. HEAD otherwise.
If there's no Gerrit CL associated with the run, returns 'HEAD'. If there's no Gerrit CL associated with the run, returns 'HEAD'.
Otherwise this queries Gerrit for the correct destination branch, which Otherwise this queries Gerrit for the correct destination ref, which
might differ from master. might differ from refs/heads/master.
Args: Args:
cfg: The used gclient config. cfg: The used gclient config.
@ -382,11 +386,13 @@ class BotUpdateApi(recipe_api.RecipeApi):
'src/v8'. The query will only be made for the project that matches 'src/v8'. The query will only be made for the project that matches
the CL's project. the CL's project.
Returns: Returns:
A destination branch as understood by bot_update.py if available A destination ref as understood by bot_update.py if available
and if different from master, returns 'HEAD' otherwise. and if different from refs/heads/master, returns 'HEAD' otherwise.
""" """
# Ignore project paths other than the one belonging to the current CL. # Ignore project paths other than the one belonging to the current CL.
patch_path = self.m.gclient.get_gerrit_patch_root(gclient_config=cfg) patch_path = self.m.gclient.get_gerrit_patch_root(gclient_config=cfg)
if patch_path:
patch_path = patch_path.replace(self.m.path.sep, '/')
if not patch_path or path != patch_path: if not patch_path or path != patch_path:
return 'HEAD' return 'HEAD'
@ -394,13 +400,7 @@ class BotUpdateApi(recipe_api.RecipeApi):
if target_ref == 'refs/heads/master': if target_ref == 'refs/heads/master':
return 'HEAD' return 'HEAD'
# TODO: Remove. Return ref, not branch. return target_ref
ret = target_ref
prefix = 'refs/heads/'
if ret.startswith(prefix):
ret = ret[len(prefix):]
return ret
def _resolve_fixed_revisions(self, bot_update_json): def _resolve_fixed_revisions(self, bot_update_json):
"""Set all fixed revisions from the first sync to their respective """Set all fixed revisions from the first sync to their respective

@ -56,7 +56,7 @@
"--output_json", "--output_json",
"/path/to/tmp/json", "/path/to/tmp/json",
"--patch_ref", "--patch_ref",
"https://chromium.googlesource.com/chromium/src@refs/changes/56/123456/7", "https://chromium.googlesource.com/chromium/src@refs/heads/master:refs/changes/56/123456/7",
"--revision", "--revision",
"src@HEAD", "src@HEAD",
"--disable-syntax-validation" "--disable-syntax-validation"

@ -56,7 +56,7 @@
"--output_json", "--output_json",
"/path/to/tmp/json", "/path/to/tmp/json",
"--patch_ref", "--patch_ref",
"https://chromium.googlesource.com/angle/angle@refs/changes/56/123456/7", "https://chromium.googlesource.com/angle/angle@refs/heads/master:refs/changes/56/123456/7",
"--revision", "--revision",
"src@HEAD", "src@HEAD",
"--revision", "--revision",

@ -56,7 +56,7 @@
"--output_json", "--output_json",
"/path/to/tmp/json", "/path/to/tmp/json",
"--patch_ref", "--patch_ref",
"https://chromium.googlesource.com/chromium/src@refs/changes/56/123456/7", "https://chromium.googlesource.com/chromium/src@refs/heads/master:refs/changes/56/123456/7",
"--revision", "--revision",
"src@HEAD", "src@HEAD",
"--disable-syntax-validation" "--disable-syntax-validation"

@ -56,7 +56,7 @@
"--output_json", "--output_json",
"/path/to/tmp/json", "/path/to/tmp/json",
"--patch_ref", "--patch_ref",
"https://chromium.googlesource.com/chromium/src@refs/changes/56/123456/7", "https://chromium.googlesource.com/chromium/src@refs/heads/master:refs/changes/56/123456/7",
"--revision", "--revision",
"src@HEAD", "src@HEAD",
"--disable-syntax-validation" "--disable-syntax-validation"

@ -56,7 +56,7 @@
"--output_json", "--output_json",
"/path/to/tmp/json", "/path/to/tmp/json",
"--patch_ref", "--patch_ref",
"https://chromium.googlesource.com/chromium/src@refs/changes/56/123456/7", "https://chromium.googlesource.com/chromium/src@refs/heads/master:refs/changes/56/123456/7",
"--revision", "--revision",
"src@HEAD", "src@HEAD",
"--disable-syntax-validation" "--disable-syntax-validation"

@ -56,7 +56,7 @@
"--output_json", "--output_json",
"/path/to/tmp/json", "/path/to/tmp/json",
"--patch_ref", "--patch_ref",
"https://chromium.googlesource.com/angle/angle@refs/changes/56/123456/7", "https://chromium.googlesource.com/angle/angle@refs/heads/master:refs/changes/56/123456/7",
"--revision", "--revision",
"src@HEAD", "src@HEAD",
"--revision", "--revision",

@ -56,7 +56,7 @@
"--output_json", "--output_json",
"/path/to/tmp/json", "/path/to/tmp/json",
"--patch_ref", "--patch_ref",
"https://chromium.googlesource.com/chromium/src@refs/changes/56/123456/7", "https://chromium.googlesource.com/chromium/src@refs/branch-heads/67:refs/changes/56/123456/7",
"--revision", "--revision",
"src@refs/branch-heads/67", "src@refs/branch-heads/67",
"--refs", "--refs",

@ -56,9 +56,11 @@
"--output_json", "--output_json",
"/path/to/tmp/json", "/path/to/tmp/json",
"--patch_ref", "--patch_ref",
"https://chromium.googlesource.com/chromium/src@refs/changes/56/123456/7", "https://chromium.googlesource.com/chromium/src@refs/heads/experimental/feature:refs/changes/56/123456/7",
"--revision", "--revision",
"src@experimental/feature", "src@refs/heads/experimental/feature",
"--refs",
"refs/heads/experimental/feature",
"--disable-syntax-validation" "--disable-syntax-validation"
], ],
"env_prefixes": { "env_prefixes": {

@ -56,11 +56,11 @@
"--output_json", "--output_json",
"/path/to/tmp/json", "/path/to/tmp/json",
"--patch_ref", "--patch_ref",
"https://chromium.googlesource.com/v8/v8@refs/changes/56/123456/7", "https://chromium.googlesource.com/v8/v8@refs/heads/experimental/feature:refs/changes/56/123456/7",
"--revision", "--revision",
"src@HEAD", "src@HEAD",
"--revision", "--revision",
"src/v8@experimental/feature", "src/v8@refs/heads/experimental/feature",
"--disable-syntax-validation" "--disable-syntax-validation"
], ],
"env_prefixes": { "env_prefixes": {

@ -56,7 +56,7 @@
"--output_json", "--output_json",
"/path/to/tmp/json", "/path/to/tmp/json",
"--patch_ref", "--patch_ref",
"https://webrtc.googlesource.com/src@refs/changes/56/123456/7", "https://webrtc.googlesource.com/src@refs/heads/master:refs/changes/56/123456/7",
"--revision", "--revision",
"src@HEAD", "src@HEAD",
"--revision", "--revision",

@ -56,7 +56,7 @@
"--output_json", "--output_json",
"/path/to/tmp/json", "/path/to/tmp/json",
"--patch_ref", "--patch_ref",
"https://chromium.googlesource.com/v8/v8@refs/changes/56/123456/7", "https://chromium.googlesource.com/v8/v8@refs/heads/master:refs/changes/56/123456/7",
"--revision", "--revision",
"src@HEAD", "src@HEAD",
"--revision", "--revision",

@ -56,7 +56,7 @@
"--output_json", "--output_json",
"/path/to/tmp/json", "/path/to/tmp/json",
"--patch_ref", "--patch_ref",
"https://chromium.googlesource.com/v8/v8@refs/changes/56/123456/7", "https://chromium.googlesource.com/v8/v8@refs/heads/master:refs/changes/56/123456/7",
"--revision", "--revision",
"src@HEAD", "src@HEAD",
"--revision", "--revision",

Loading…
Cancel
Save