| Index: recipe_modules/gclient/api.py
|
| diff --git a/recipe_modules/gclient/api.py b/recipe_modules/gclient/api.py
|
| index 7462e22c650c02fe69aec0978157f31b24ded516..9182d6a1fb90ec514610bd572d371c16a37eb163 100644
|
| --- a/recipe_modules/gclient/api.py
|
| +++ b/recipe_modules/gclient/api.py
|
| @@ -151,40 +151,30 @@ class GclientApi(recipe_api.RecipeApi):
|
| test_data_paths = set(cfg.got_revision_mapping.keys() +
|
| [s.name for s in cfg.solutions])
|
| step_test_data = lambda: (
|
| - self.test_api.output_json(test_data_paths, cfg.GIT_MODE))
|
| + self.test_api.output_json(test_data_paths))
|
| try:
|
| - if not cfg.GIT_MODE: # pragma: no cover
|
| - args = ['sync', '--nohooks', '--force', '--verbose']
|
| - if cfg.delete_unversioned_trees:
|
| - args.append('--delete_unversioned_trees')
|
| - if with_branch_heads:
|
| - args.append('--with_branch_heads')
|
| - self('sync', args + revisions + ['--output-json', self.m.json.output()],
|
| - step_test_data=step_test_data,
|
| - **kwargs)
|
| - else:
|
| - # clean() isn't used because the gclient sync flags passed in checkout()
|
| - # do much the same thing, and they're more correct than doing a separate
|
| - # 'gclient revert' because it makes sure the other args are correct when
|
| - # a repo was deleted and needs to be re-cloned (notably
|
| - # --with_branch_heads), whereas 'revert' uses default args for clone
|
| - # operations.
|
| - #
|
| - # TODO(mmoss): To be like current official builders, this step could
|
| - # just delete the whole <slave_name>/build/ directory and start each
|
| - # build from scratch. That might be the least bad solution, at least
|
| - # until we have a reliable gclient method to produce a pristine working
|
| - # dir for git-based builds (e.g. maybe some combination of 'git
|
| - # reset/clean -fx' and removing the 'out' directory).
|
| - j = '-j2' if self.m.platform.is_win else '-j8'
|
| - args = ['sync', '--verbose', '--with_branch_heads', '--nohooks', j,
|
| - '--reset', '--force', '--upstream', '--no-nag-max']
|
| - if cfg.delete_unversioned_trees:
|
| - args.append('--delete_unversioned_trees')
|
| - self('sync', args + revisions +
|
| - ['--output-json', self.m.json.output()],
|
| - step_test_data=step_test_data,
|
| - **kwargs)
|
| + # clean() isn't used because the gclient sync flags passed in checkout()
|
| + # do much the same thing, and they're more correct than doing a separate
|
| + # 'gclient revert' because it makes sure the other args are correct when
|
| + # a repo was deleted and needs to be re-cloned (notably
|
| + # --with_branch_heads), whereas 'revert' uses default args for clone
|
| + # operations.
|
| + #
|
| + # TODO(mmoss): To be like current official builders, this step could
|
| + # just delete the whole <slave_name>/build/ directory and start each
|
| + # build from scratch. That might be the least bad solution, at least
|
| + # until we have a reliable gclient method to produce a pristine working
|
| + # dir for git-based builds (e.g. maybe some combination of 'git
|
| + # reset/clean -fx' and removing the 'out' directory).
|
| + j = '-j2' if self.m.platform.is_win else '-j8'
|
| + args = ['sync', '--verbose', '--with_branch_heads', '--nohooks', j,
|
| + '--reset', '--force', '--upstream', '--no-nag-max']
|
| + if cfg.delete_unversioned_trees:
|
| + args.append('--delete_unversioned_trees')
|
| + self('sync', args + revisions +
|
| + ['--output-json', self.m.json.output()],
|
| + step_test_data=step_test_data,
|
| + **kwargs)
|
| finally:
|
| result = self.m.step.active_result
|
| data = result.json.output
|
| @@ -239,25 +229,16 @@ class GclientApi(recipe_api.RecipeApi):
|
|
|
| sync_step = None
|
| try:
|
| - if not cfg.GIT_MODE: # pragma: no cover
|
| - try:
|
| - if revert:
|
| - self.revert(**kwargs)
|
| - finally:
|
| - sync_step = self.sync(cfg, with_branch_heads=with_branch_heads,
|
| - **kwargs)
|
| - else:
|
| - sync_step = self.sync(cfg, with_branch_heads=with_branch_heads,
|
| - **kwargs)
|
| -
|
| - cfg_cmds = [
|
| - ('user.name', 'local_bot'),
|
| - ('user.email', 'local_bot@example.com'),
|
| - ]
|
| - for var, val in cfg_cmds:
|
| - name = 'recurse (git config %s)' % var
|
| - self(name, ['recurse', 'git', 'config', var, val], **kwargs)
|
| -
|
| + sync_step = self.sync(cfg, with_branch_heads=with_branch_heads,
|
| + **kwargs)
|
| +
|
| + cfg_cmds = [
|
| + ('user.name', 'local_bot'),
|
| + ('user.email', 'local_bot@example.com'),
|
| + ]
|
| + for var, val in cfg_cmds:
|
| + name = 'recurse (git config %s)' % var
|
| + self(name, ['recurse', 'git', 'config', var, val], **kwargs)
|
| finally:
|
| cwd = kwargs.get('cwd', self.m.path['slave_build'])
|
| if 'checkout' not in self.m.path:
|
|
|