| Index: gclient.py
|
| diff --git a/gclient.py b/gclient.py
|
| index a9f59cbf56ea2dca05c82c7d6b1ec80fdf6c0704..9bc21e5a5535afd2a6a322c628d07157dc7b9f72 100755
|
| --- a/gclient.py
|
| +++ b/gclient.py
|
| @@ -1475,19 +1475,18 @@ been automagically updated. The previous version is available at %s.old.
|
| revision_overrides = {}
|
| if not self._options.revisions:
|
| for s in self.dependencies:
|
| - if not s.managed:
|
| + if not s.managed and not self._options.head:
|
| self._options.revisions.append('%s@unmanaged' % s.name)
|
| if not self._options.revisions:
|
| return revision_overrides
|
| solutions_names = [s.name for s in self.dependencies]
|
| - index = 0
|
| - for revision in self._options.revisions:
|
| + for i, revision in enumerate(self._options.revisions):
|
| if not '@' in revision:
|
| # Support for --revision 123
|
| - revision = '%s@%s' % (solutions_names[index], revision)
|
| - name, rev = revision.split('@', 1)
|
| + name, rev = solutions_names[i], revision
|
| + else:
|
| + name, rev = revision.split('@', 1)
|
| revision_overrides[name] = rev
|
| - index += 1
|
| return revision_overrides
|
|
|
| def RunOnDeps(self, command, args, ignore_requirements=False, progress=True):
|
| @@ -1999,6 +1998,10 @@ def CMDsync(parser, args):
|
| 'with the command-line flag), transitively update '
|
| 'the dependencies to the date of the given revision. '
|
| 'Only supported for SVN repositories.')
|
| + parser.add_option('-H', '--head', action='store_true',
|
| + help='Begin by automatically syncing the root gclient '
|
| + 'solutions to HEAD of the remote repository. Similar '
|
| + 'to making the solution temporarily "managed".')
|
| parser.add_option('-D', '--delete_unversioned_trees', action='store_true',
|
| help='Deletes from the working copy any dependencies that '
|
| 'have been removed since the last sync, as long as '
|
|
|