diff --git a/recipes/recipe_modules/bot_update/api.py b/recipes/recipe_modules/bot_update/api.py index c189ecc15..0504d7779 100644 --- a/recipes/recipe_modules/bot_update/api.py +++ b/recipes/recipe_modules/bot_update/api.py @@ -143,12 +143,8 @@ class BotUpdateApi(recipe_api.RecipeApi): if patch: repo_url = self.m.tryserver.gerrit_change_repo_url fetch_ref = self.m.tryserver.gerrit_change_fetch_ref - target_ref = self.m.tryserver.gerrit_change_target_ref if repo_url and fetch_ref: - flags.append([ - '--patch_ref', - '%s@%s:%s' % (repo_url, target_ref, fetch_ref), - ]) + flags.append(['--patch_ref', '%s@%s' % (repo_url, fetch_ref)]) if patch_refs: flags.extend( ['--patch_ref', patch_ref] @@ -199,8 +195,8 @@ class BotUpdateApi(recipe_api.RecipeApi): if fixed_revision: fixed_revisions[name] = fixed_revision if fixed_revision.upper() == 'HEAD': - # Sync to correct destination ref if HEAD was specified. - fixed_revision = self._destination_ref(cfg, name) + # Sync to correct destination branch if HEAD was specified. + fixed_revision = self._destination_branch(cfg, name) # If we're syncing to a ref, we want to make sure it exists before # trying to check it out. if (fixed_revision.startswith('refs/') and @@ -372,13 +368,13 @@ class BotUpdateApi(recipe_api.RecipeApi): return step_result - def _destination_ref(self, cfg, path): - """Returns the ref branch of a CL for the matching project if available or - HEAD otherwise. + def _destination_branch(self, cfg, path): + """Returns the destination branch of a CL for the matching project + if available or HEAD otherwise. If there's no Gerrit CL associated with the run, returns 'HEAD'. - Otherwise this queries Gerrit for the correct destination ref, which - might differ from refs/heads/master. + Otherwise this queries Gerrit for the correct destination branch, which + might differ from master. Args: cfg: The used gclient config. @@ -386,13 +382,11 @@ class BotUpdateApi(recipe_api.RecipeApi): 'src/v8'. The query will only be made for the project that matches the CL's project. Returns: - A destination ref as understood by bot_update.py if available - and if different from refs/heads/master, returns 'HEAD' otherwise. + A destination branch as understood by bot_update.py if available + and if different from master, returns 'HEAD' otherwise. """ # Ignore project paths other than the one belonging to the current CL. 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: return 'HEAD' @@ -400,7 +394,13 @@ class BotUpdateApi(recipe_api.RecipeApi): if target_ref == 'refs/heads/master': return 'HEAD' - return target_ref + # TODO: Remove. Return ref, not branch. + ret = target_ref + prefix = 'refs/heads/' + if ret.startswith(prefix): + ret = ret[len(prefix):] + + return ret def _resolve_fixed_revisions(self, bot_update_json): """Set all fixed revisions from the first sync to their respective diff --git a/recipes/recipe_modules/bot_update/examples/full.expected/deprecated_got_revision_mapping.json b/recipes/recipe_modules/bot_update/examples/full.expected/deprecated_got_revision_mapping.json index a3ef456cc..d023d167d 100644 --- a/recipes/recipe_modules/bot_update/examples/full.expected/deprecated_got_revision_mapping.json +++ b/recipes/recipe_modules/bot_update/examples/full.expected/deprecated_got_revision_mapping.json @@ -56,7 +56,7 @@ "--output_json", "/path/to/tmp/json", "--patch_ref", - "https://chromium.googlesource.com/chromium/src@refs/heads/master:refs/changes/56/123456/7", + "https://chromium.googlesource.com/chromium/src@refs/changes/56/123456/7", "--revision", "src@HEAD", "--disable-syntax-validation" diff --git a/recipes/recipe_modules/bot_update/examples/full.expected/no_apply_patch_on_gclient.json b/recipes/recipe_modules/bot_update/examples/full.expected/no_apply_patch_on_gclient.json index 9f89fc747..658588312 100644 --- a/recipes/recipe_modules/bot_update/examples/full.expected/no_apply_patch_on_gclient.json +++ b/recipes/recipe_modules/bot_update/examples/full.expected/no_apply_patch_on_gclient.json @@ -56,7 +56,7 @@ "--output_json", "/path/to/tmp/json", "--patch_ref", - "https://chromium.googlesource.com/angle/angle@refs/heads/master:refs/changes/56/123456/7", + "https://chromium.googlesource.com/angle/angle@refs/changes/56/123456/7", "--revision", "src@HEAD", "--revision", diff --git a/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail.json b/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail.json index 53cd173c6..309d65022 100644 --- a/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail.json +++ b/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail.json @@ -56,7 +56,7 @@ "--output_json", "/path/to/tmp/json", "--patch_ref", - "https://chromium.googlesource.com/chromium/src@refs/heads/master:refs/changes/56/123456/7", + "https://chromium.googlesource.com/chromium/src@refs/changes/56/123456/7", "--revision", "src@HEAD", "--disable-syntax-validation" diff --git a/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch.json b/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch.json index 28f676ef4..97c19c2a3 100644 --- a/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch.json +++ b/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch.json @@ -56,7 +56,7 @@ "--output_json", "/path/to/tmp/json", "--patch_ref", - "https://chromium.googlesource.com/chromium/src@refs/heads/master:refs/changes/56/123456/7", + "https://chromium.googlesource.com/chromium/src@refs/changes/56/123456/7", "--revision", "src@HEAD", "--disable-syntax-validation" diff --git a/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch_download.json b/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch_download.json index c0dfc2905..f68a58caa 100644 --- a/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch_download.json +++ b/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch_download.json @@ -56,7 +56,7 @@ "--output_json", "/path/to/tmp/json", "--patch_ref", - "https://chromium.googlesource.com/chromium/src@refs/heads/master:refs/changes/56/123456/7", + "https://chromium.googlesource.com/chromium/src@refs/changes/56/123456/7", "--revision", "src@HEAD", "--disable-syntax-validation" diff --git a/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_angle.json b/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_angle.json index 9f89fc747..658588312 100644 --- a/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_angle.json +++ b/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_angle.json @@ -56,7 +56,7 @@ "--output_json", "/path/to/tmp/json", "--patch_ref", - "https://chromium.googlesource.com/angle/angle@refs/heads/master:refs/changes/56/123456/7", + "https://chromium.googlesource.com/angle/angle@refs/changes/56/123456/7", "--revision", "src@HEAD", "--revision", diff --git a/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_branch_heads.json b/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_branch_heads.json index 7f5d24d6e..2a26c65d0 100644 --- a/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_branch_heads.json +++ b/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_branch_heads.json @@ -56,7 +56,7 @@ "--output_json", "/path/to/tmp/json", "--patch_ref", - "https://chromium.googlesource.com/chromium/src@refs/branch-heads/67:refs/changes/56/123456/7", + "https://chromium.googlesource.com/chromium/src@refs/changes/56/123456/7", "--revision", "src@refs/branch-heads/67", "--refs", diff --git a/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_feature_branch.json b/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_feature_branch.json index e577f4a9e..ec55b8b63 100644 --- a/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_feature_branch.json +++ b/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_feature_branch.json @@ -56,11 +56,9 @@ "--output_json", "/path/to/tmp/json", "--patch_ref", - "https://chromium.googlesource.com/chromium/src@refs/heads/experimental/feature:refs/changes/56/123456/7", + "https://chromium.googlesource.com/chromium/src@refs/changes/56/123456/7", "--revision", - "src@refs/heads/experimental/feature", - "--refs", - "refs/heads/experimental/feature", + "src@experimental/feature", "--disable-syntax-validation" ], "env_prefixes": { diff --git a/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_v8_feature_branch.json b/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_v8_feature_branch.json index 45993fe0d..8436eec16 100644 --- a/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_v8_feature_branch.json +++ b/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_v8_feature_branch.json @@ -56,11 +56,11 @@ "--output_json", "/path/to/tmp/json", "--patch_ref", - "https://chromium.googlesource.com/v8/v8@refs/heads/experimental/feature:refs/changes/56/123456/7", + "https://chromium.googlesource.com/v8/v8@refs/changes/56/123456/7", "--revision", "src@HEAD", "--revision", - "src/v8@refs/heads/experimental/feature", + "src/v8@experimental/feature", "--disable-syntax-validation" ], "env_prefixes": { diff --git a/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_webrtc.json b/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_webrtc.json index 8a16463e2..b38886180 100644 --- a/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_webrtc.json +++ b/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_webrtc.json @@ -56,7 +56,7 @@ "--output_json", "/path/to/tmp/json", "--patch_ref", - "https://webrtc.googlesource.com/src@refs/heads/master:refs/changes/56/123456/7", + "https://webrtc.googlesource.com/src@refs/changes/56/123456/7", "--revision", "src@HEAD", "--revision", diff --git a/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8.json b/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8.json index 04ad2bb0a..caec2ba03 100644 --- a/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8.json +++ b/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8.json @@ -56,7 +56,7 @@ "--output_json", "/path/to/tmp/json", "--patch_ref", - "https://chromium.googlesource.com/v8/v8@refs/heads/master:refs/changes/56/123456/7", + "https://chromium.googlesource.com/v8/v8@refs/changes/56/123456/7", "--revision", "src@HEAD", "--revision", diff --git a/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8_head_by_default.json b/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8_head_by_default.json index 9c5eab756..0490db83b 100644 --- a/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8_head_by_default.json +++ b/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8_head_by_default.json @@ -56,7 +56,7 @@ "--output_json", "/path/to/tmp/json", "--patch_ref", - "https://chromium.googlesource.com/v8/v8@refs/heads/master:refs/changes/56/123456/7", + "https://chromium.googlesource.com/v8/v8@refs/changes/56/123456/7", "--revision", "src@HEAD", "--revision",