Index: gclient.py |
diff --git a/gclient.py b/gclient.py |
index 9b6a3c0a25bff96acb7163f76c3cacbc295615a2..a9f59cbf56ea2dca05c82c7d6b1ec80fdf6c0704 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: |
@@ -1299,10 +1294,12 @@ want to set 'managed': False in .gclient. |
deps_to_add = [] |
for s in config_dict.get('solutions', []): |
+ if s.get('safesync_url'): |
+ raise gclient_utils.Error('safesync_url is not supported anymore. ' |
+ 'Please remove it from your .gclient file.') |
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 +1426,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 +1473,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 +1490,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 +1674,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 +1839,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 +1898,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 +1987,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 +1999,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 +2053,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 +2259,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'): |