| Index: gclient.py
 | 
| diff --git a/gclient.py b/gclient.py
 | 
| index 04087100c5cd32c20308aede42d36e529279270f..f2d9415b2b7b9618635a5db594d0d7d075b50621 100644
 | 
| --- a/gclient.py
 | 
| +++ b/gclient.py
 | 
| @@ -115,7 +115,7 @@ class GClientKeywords(object):
 | 
|  
 | 
|    class FileImpl(object):
 | 
|      """Used to implement the File('') syntax which lets you sync a single file
 | 
| -    from an SVN repo."""
 | 
| +    from a SVN repo."""
 | 
|  
 | 
|      def __init__(self, file_location):
 | 
|        self.file_location = file_location
 | 
| @@ -621,11 +621,13 @@ solutions = [
 | 
|            scm.RunCommand(command, self._options, args, file_list)
 | 
|            self._options.revision = None
 | 
|        elif isinstance(deps[d], self.FileImpl):
 | 
| +        if command in (None, 'cleanup', 'diff', 'pack', 'status'):
 | 
| +          continue
 | 
|          file_dep = deps[d]
 | 
|          self._options.revision = file_dep.GetRevision()
 | 
|          if run_scm:
 | 
| -          scm = gclient_scm.CreateSCM(file_dep.GetPath(), self.root_dir(), d)
 | 
| -          scm.RunCommand("updatesingle", self._options,
 | 
| +          scm = gclient_scm.SVNWrapper(file_dep.GetPath(), self.root_dir(), d)
 | 
| +          scm.RunCommand('updatesingle', self._options,
 | 
|                           args + [file_dep.GetFilename()], file_list)
 | 
|  
 | 
|      if command == 'update' and not self._options.verbose:
 | 
| @@ -1167,6 +1169,8 @@ def Main(argv):
 | 
|        logging.basicConfig(level=level,
 | 
|            format='%(module)s(%(lineno)d) %(funcName)s:%(message)s')
 | 
|        options.entries_filename = options.config_filename + '_entries'
 | 
| +
 | 
| +      # These hacks need to die.
 | 
|        if not hasattr(options, 'revisions'):
 | 
|          # GClient.RunOnDeps expects it even if not applicable.
 | 
|          options.revisions = []
 | 
| @@ -1176,6 +1180,10 @@ def Main(argv):
 | 
|          options.nohooks = True
 | 
|        if not hasattr(options, 'deps_os'):
 | 
|          options.deps_os = None
 | 
| +      if not hasattr(options, 'manually_grab_svn_rev'):
 | 
| +        options.manually_grab_svn_rev = None
 | 
| +      if not hasattr(options, 'force'):
 | 
| +        options.force = None
 | 
|        return (options, args)
 | 
|      parser.parse_args = Parse
 | 
|      # We don't want wordwrapping in epilog (usually examples)
 | 
| 
 |