| Index: gclient.py
|
| diff --git a/gclient.py b/gclient.py
|
| index 9b6a3c0a25bff96acb7163f76c3cacbc295615a2..015abb762485171b3ee4f5402918a16800c9b9e2 100755
|
| --- a/gclient.py
|
| +++ b/gclient.py
|
| @@ -213,13 +213,12 @@ class GClientKeywords(object):
|
| class DependencySettings(GClientKeywords):
|
| """Immutable configuration settings."""
|
| def __init__(
|
| - self, parent, url, safesync_url, managed, custom_deps, custom_vars,
|
| + self, parent, url, managed, custom_deps, custom_vars,
|
| custom_hooks, deps_file, should_process):
|
| GClientKeywords.__init__(self)
|
|
|
| # These are not mutable:
|
| self._parent = parent
|
| - self._safesync_url = safesync_url
|
| self._deps_file = deps_file
|
| self._url = url
|
| # 'managed' determines whether or not this dependency is synced/updated by
|
| @@ -282,10 +281,6 @@ class DependencySettings(GClientKeywords):
|
| return self.parent.root
|
|
|
| @property
|
| - def safesync_url(self):
|
| - return self._safesync_url
|
| -
|
| - @property
|
| def should_process(self):
|
| """True if this dependency should be processed, i.e. checked out."""
|
| return self._should_process
|
| @@ -324,11 +319,11 @@ class DependencySettings(GClientKeywords):
|
| class Dependency(gclient_utils.WorkItem, DependencySettings):
|
| """Object that represents a dependency checkout."""
|
|
|
| - def __init__(self, parent, name, url, safesync_url, managed, custom_deps,
|
| + def __init__(self, parent, name, url, managed, custom_deps,
|
| custom_vars, custom_hooks, deps_file, should_process):
|
| gclient_utils.WorkItem.__init__(self, name)
|
| DependencySettings.__init__(
|
| - self, parent, url, safesync_url, managed, custom_deps, custom_vars,
|
| + self, parent, url, managed, custom_deps, custom_vars,
|
| custom_hooks, deps_file, should_process)
|
|
|
| # This is in both .gclient and DEPS files:
|
| @@ -727,7 +722,7 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
|
| if ent is not None:
|
| deps_file = ent['deps_file']
|
| deps_to_add.append(Dependency(
|
| - self, name, url, None, None, None, self.custom_vars, None,
|
| + self, name, url, None, None, self.custom_vars, None,
|
| deps_file, should_process))
|
| deps_to_add.sort(key=lambda x: x.name)
|
|
|
| @@ -1134,7 +1129,7 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
|
|
|
| def __str__(self):
|
| out = []
|
| - for i in ('name', 'url', 'parsed_url', 'safesync_url', 'custom_deps',
|
| + for i in ('name', 'url', 'parsed_url', 'custom_deps',
|
| 'custom_vars', 'deps_hooks', 'file_list', 'should_process',
|
| 'processed', 'hooks_ran', 'deps_parsed', 'requirements',
|
| 'allowed_hosts'):
|
| @@ -1183,26 +1178,26 @@ class GClient(Dependency):
|
|
|
| DEFAULT_CLIENT_FILE_TEXT = ("""\
|
| solutions = [
|
| - { "name" : "%(solution_name)s",
|
| + {
|
| + "name" : "%(solution_name)s",
|
| "url" : "%(solution_url)s",
|
| "deps_file" : "%(deps_file)s",
|
| "managed" : %(managed)s,
|
| - "custom_deps" : {
|
| - },
|
| - "safesync_url": "%(safesync_url)s",
|
| + "custom_deps" : {},
|
| },
|
| ]
|
| cache_dir = %(cache_dir)r
|
| """)
|
|
|
| DEFAULT_SNAPSHOT_SOLUTION_TEXT = ("""\
|
| - { "name" : "%(solution_name)s",
|
| + {
|
| + "name" : "%(solution_name)s",
|
| "url" : "%(solution_url)s",
|
| "deps_file" : "%(deps_file)s",
|
| "managed" : %(managed)s,
|
| "custom_deps" : {
|
| -%(solution_deps)s },
|
| - "safesync_url": "%(safesync_url)s",
|
| +%(solution_deps)s
|
| + },
|
| },
|
| """)
|
|
|
| @@ -1216,7 +1211,7 @@ solutions = [
|
| # Do not change previous behavior. Only solution level and immediate DEPS
|
| # are processed.
|
| self._recursion_limit = 2
|
| - Dependency.__init__(self, None, None, None, None, True, None, None, None,
|
| + Dependency.__init__(self, None, None, None, True, None, None, None,
|
| 'unused', True)
|
| self._options = options
|
| if options.deps_os:
|
| @@ -1302,7 +1297,6 @@ want to set 'managed': False in .gclient.
|
| try:
|
| deps_to_add.append(Dependency(
|
| self, s['name'], s['url'],
|
| - s.get('safesync_url', None),
|
| s.get('managed', True),
|
| s.get('custom_deps', {}),
|
| s.get('custom_vars', {}),
|
| @@ -1429,12 +1423,11 @@ been automagically updated. The previous version is available at %s.old.
|
| return client
|
|
|
| def SetDefaultConfig(self, solution_name, deps_file, solution_url,
|
| - safesync_url, managed=True, cache_dir=None):
|
| + managed=True, cache_dir=None):
|
| self.SetConfig(self.DEFAULT_CLIENT_FILE_TEXT % {
|
| 'solution_name': solution_name,
|
| 'solution_url': solution_url,
|
| 'deps_file': deps_file,
|
| - 'safesync_url' : safesync_url,
|
| 'managed': managed,
|
| 'cache_dir': cache_dir,
|
| })
|
| @@ -1477,15 +1470,10 @@ been automagically updated. The previous version is available at %s.old.
|
| def _EnforceRevisions(self):
|
| """Checks for revision overrides."""
|
| revision_overrides = {}
|
| - if self._options.head:
|
| - return revision_overrides
|
| - # Do not check safesync_url if one or more --revision flag is specified.
|
| if not self._options.revisions:
|
| for s in self.dependencies:
|
| if not s.managed:
|
| self._options.revisions.append('%s@unmanaged' % s.name)
|
| - elif s.safesync_url:
|
| - self._ApplySafeSyncRev(dep=s)
|
| if not self._options.revisions:
|
| return revision_overrides
|
| solutions_names = [s.name for s in self.dependencies]
|
| @@ -1499,26 +1487,6 @@ been automagically updated. The previous version is available at %s.old.
|
| index += 1
|
| return revision_overrides
|
|
|
| - def _ApplySafeSyncRev(self, dep):
|
| - """Finds a valid revision from the content of the safesync_url and apply it
|
| - by appending revisions to the revision list. Throws if revision appears to
|
| - be invalid for the given |dep|."""
|
| - assert len(dep.safesync_url) > 0
|
| - handle = urllib.urlopen(dep.safesync_url)
|
| - rev = handle.read().strip()
|
| - handle.close()
|
| - if not rev:
|
| - raise gclient_utils.Error(
|
| - 'It appears your safesync_url (%s) is not working properly\n'
|
| - '(as it returned an empty response). Check your config.' %
|
| - dep.safesync_url)
|
| - scm = gclient_scm.CreateSCM(
|
| - dep.url, dep.root.root_dir, dep.name, self.outbuf)
|
| - safe_rev = scm.GetUsableRev(rev, self._options)
|
| - if self._options.verbose:
|
| - print('Using safesync_url revision: %s.\n' % safe_rev)
|
| - self._options.revisions.append('%s@%s' % (dep.name, safe_rev))
|
| -
|
| def RunOnDeps(self, command, args, ignore_requirements=False, progress=True):
|
| """Runs a command on each dependency in a client and its dependencies.
|
|
|
| @@ -1703,7 +1671,6 @@ been automagically updated. The previous version is available at %s.old.
|
| 'solution_name': d.name,
|
| 'solution_url': d.url,
|
| 'deps_file': d.deps_file,
|
| - 'safesync_url' : d.safesync_url or '',
|
| 'managed': d.managed,
|
| 'solution_deps': ''.join(custom_deps),
|
| }
|
| @@ -1869,7 +1836,7 @@ def CMDroot(parser, args):
|
| print(os.path.abspath('.'))
|
|
|
|
|
| -@subcommand.usage('[url] [safesync url]')
|
| +@subcommand.usage('[url]')
|
| def CMDconfig(parser, args):
|
| """Creates a .gclient file in the current directory.
|
|
|
| @@ -1928,10 +1895,7 @@ def CMDconfig(parser, args):
|
| parser.error('Do not include relative path components in --name.')
|
|
|
| deps_file = options.deps_file
|
| - safesync_url = ''
|
| - if len(args) > 1:
|
| - safesync_url = args[1]
|
| - client.SetDefaultConfig(name, deps_file, base_url, safesync_url,
|
| + client.SetDefaultConfig(name, deps_file, base_url,
|
| managed=not options.unmanaged,
|
| cache_dir=options.cache_dir)
|
| client.SaveConfig()
|
| @@ -2020,8 +1984,7 @@ def CMDsync(parser, args):
|
| 'format src@rev. The src@ part is optional and can be '
|
| 'skipped. -r can be used multiple times when .gclient '
|
| 'has multiple solutions configured and will work even '
|
| - 'if the src@ part is skipped. Note that specifying '
|
| - '--revision means your safesync_url gets ignored.')
|
| + 'if the src@ part is skipped.')
|
| parser.add_option('--with_branch_heads', action='store_true',
|
| help='Clone git "branch_heads" refspecs in addition to '
|
| 'the default refspecs. This adds about 1/2GB to a '
|
| @@ -2033,9 +1996,6 @@ 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='skips any safesync_urls specified in '
|
| - 'configured solutions and sync to head instead')
|
| 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 '
|
| @@ -2090,10 +2050,6 @@ def CMDsync(parser, args):
|
| if not client:
|
| raise gclient_utils.Error('client not configured; see \'gclient config\'')
|
|
|
| - if options.revisions and options.head:
|
| - # TODO(maruel): Make it a parser.error if it doesn't break any builder.
|
| - print('Warning: you cannot use both --head and --revision')
|
| -
|
| if options.verbose:
|
| client.PrintLocationAndContents()
|
| ret = client.RunOnDeps('update', args)
|
| @@ -2300,8 +2256,6 @@ class OptionParser(optparse.OptionParser):
|
| if not hasattr(options, 'revisions'):
|
| # GClient.RunOnDeps expects it even if not applicable.
|
| options.revisions = []
|
| - if not hasattr(options, 'head'):
|
| - options.head = None
|
| if not hasattr(options, 'nohooks'):
|
| options.nohooks = True
|
| if not hasattr(options, 'noprehooks'):
|
|
|