diff --git a/recipes/README.recipes.md b/recipes/README.recipes.md
index 85f527575d..056ac81f0f 100644
--- a/recipes/README.recipes.md
+++ b/recipes/README.recipes.md
@@ -222,12 +222,12 @@ Returns (Path): The "depot_tools" root directory.
Wrapper for easy calling of gclient steps.
-— **def [break\_locks](/recipes/recipe_modules/gclient/api.py#286)(self):**
+— **def [break\_locks](/recipes/recipe_modules/gclient/api.py#287)(self):**
Remove all index.lock files. If a previous run of git crashed, bot was
reset, etc... we might end up with leftover index.lock files.
-— **def [calculate\_patch\_root](/recipes/recipe_modules/gclient/api.py#308)(self, patch_project, gclient_config=None):**
+— **def [calculate\_patch\_root](/recipes/recipe_modules/gclient/api.py#309)(self, patch_project, gclient_config=None):**
Returns path where a patch should be applied to based patch_project.
@@ -244,7 +244,7 @@ Returns:
If patch_project is not given or not recognized, it'll be just first
solution root.
-— **def [checkout](/recipes/recipe_modules/gclient/api.py#234)(self, gclient_config=None, revert=RevertOnTryserver, inject_parent_got_revision=True, \*\*kwargs):**
+— **def [checkout](/recipes/recipe_modules/gclient/api.py#235)(self, gclient_config=None, revert=RevertOnTryserver, inject_parent_got_revision=True, \*\*kwargs):**
Return a step generator function for gclient checkouts.
@@ -260,7 +260,7 @@ Returns (dict): A mapping from property name -> project name. It merges the
values of the deprecated got_revision_mapping and the new
got_revision_reverse_mapping.
-— **def [inject\_parent\_got\_revision](/recipes/recipe_modules/gclient/api.py#209)(self, gclient_config=None, override=False):**
+— **def [inject\_parent\_got\_revision](/recipes/recipe_modules/gclient/api.py#210)(self, gclient_config=None, override=False):**
Match gclient config to build revisions obtained from build_properties.
@@ -270,7 +270,7 @@ Args:
override (bool) - If True, will forcibly set revision and custom_vars
even if the config already contains values for them.
- **@property**
— **def [is\_blink\_mode](/recipes/recipe_modules/gclient/api.py#273)(self):**
+ **@property**
— **def [is\_blink\_mode](/recipes/recipe_modules/gclient/api.py#274)(self):**
Indicates wether the caller is to use the Blink config rather than the
Chromium config. This may happen for one of two reasons:
@@ -281,9 +281,9 @@ Chromium config. This may happen for one of two reasons:
— **def [resolve\_revision](/recipes/recipe_modules/gclient/api.py#147)(self, revision):**
-— **def [runhooks](/recipes/recipe_modules/gclient/api.py#267)(self, args=None, name='runhooks', \*\*kwargs):**
+— **def [runhooks](/recipes/recipe_modules/gclient/api.py#268)(self, args=None, name='runhooks', \*\*kwargs):**
-— **def [set\_patch\_project\_revision](/recipes/recipe_modules/gclient/api.py#335)(self, patch_project, gclient_config=None):**
+— **def [set\_patch\_project\_revision](/recipes/recipe_modules/gclient/api.py#336)(self, patch_project, gclient_config=None):**
Updates config revision corresponding to patch_project.
@@ -292,7 +292,7 @@ revision map. This doesn't overwrite the revision if it was already set.
**@spec_alias.deleter**
— **def [spec\_alias](/recipes/recipe_modules/gclient/api.py#115)(self):**
-— **def [sync](/recipes/recipe_modules/gclient/api.py#152)(self, cfg, \*\*kwargs):**
+— **def [sync](/recipes/recipe_modules/gclient/api.py#152)(self, cfg, extra_sync_flags=None, \*\*kwargs):**
**@use_mirror.setter**
— **def [use\_mirror](/recipes/recipe_modules/gclient/api.py#102)(self, val):**
### *recipe_modules* / [gerrit](/recipes/recipe_modules/gerrit)
diff --git a/recipes/recipe_modules/gclient/api.py b/recipes/recipe_modules/gclient/api.py
index 93108d9d4e..c595fee02d 100644
--- a/recipes/recipe_modules/gclient/api.py
+++ b/recipes/recipe_modules/gclient/api.py
@@ -149,7 +149,7 @@ class GclientApi(recipe_api.RecipeApi):
return revision.resolve(self.m.properties)
return revision
- def sync(self, cfg, **kwargs):
+ def sync(self, cfg, extra_sync_flags=None, **kwargs):
revisions = []
self.set_patch_project_revision(self.m.properties.get('patch_project'), cfg)
for i, s in enumerate(cfg.solutions):
@@ -188,6 +188,7 @@ class GclientApi(recipe_api.RecipeApi):
args = ['sync', '--verbose', '--nohooks', j, '--reset', '--force',
'--upstream', '--no-nag-max', '--with_branch_heads',
'--with_tags']
+ args.extend(extra_sync_flags or [])
if cfg.delete_unversioned_trees:
args.append('--delete_unversioned_trees')
self('sync', args + revisions +