소스 검색

Revert "Update fetch protocol using --protocol-override flag"

This reverts commit 6817010e83ab93bb2b3db91f512f26ff356960c9.

Reason for revert: Breaks gclient sync for flutter

Original change's description:
> Update fetch protocol using --protocol-override flag
>
> This CL updates gclient sync to use the protocol of the URL specified in the solutions for cloning all the child dependencies of it.
>
> Bug: chrome-operations:170
> Change-Id: I33588059788b677fbae8c3b434100af5c7979a67
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3631600
> Reviewed-by: Joanna Wang <jojwang@chromium.org>
> Reviewed-by: Josip Sokcevic <sokcevic@google.com>
> Commit-Queue: Aravind Vasudevan <aravindvasudev@google.com>

Bug: chrome-operations:170
Change-Id: I76a49030f48fa266eeea336307e7153b22ded4e9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3684110
Commit-Queue: Aravind Vasudevan <aravindvasudev@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Aravind Vasudevan 3 년 전
부모
커밋
fe3a70a926
4개의 변경된 파일9개의 추가작업 그리고 40개의 파일을 삭제
  1. 2 9
      fetch.py
  2. 6 25
      gclient.py
  3. 1 1
      tests/fetch_test.py
  4. 0 5
      tests/gclient_test.py

+ 2 - 9
fetch.py

@@ -24,7 +24,6 @@ import json
 import argparse
 import os
 import pipes
-import re
 import subprocess
 import sys
 import textwrap
@@ -35,6 +34,7 @@ from distutils import spawn
 
 
 SCRIPT_PATH = os.path.dirname(os.path.abspath(__file__))
+DEFAULT_PROTOCOL = 'https'
 
 #################################################
 # Checkout class definitions.
@@ -204,7 +204,7 @@ def handle_args(argv):
     '-p',
     '--protocol-override',
     type=str,
-    default=None,
+    default=DEFAULT_PROTOCOL,
     help='Protocol to use to fetch dependencies, defaults to https.')
 
   parser.add_argument('config', type=str,
@@ -259,13 +259,6 @@ def run(options, spec, root):
   assert 'type' in spec
   checkout_type = spec['type']
   checkout_spec = spec['%s_spec' % checkout_type]
-
-  # Replace https using the protocol specified in --protocol-override
-  if options.protocol_override is not None:
-    for solution in checkout_spec['solutions']:
-      solution['url'] = re.sub(
-        '^([a-z]+):', options.protocol_override + ':', solution['url'])
-
   try:
     checkout = CheckoutFactory(checkout_type, options, checkout_spec, root)
   except KeyError:

+ 6 - 25
gclient.py

@@ -396,8 +396,7 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
 
   def __init__(self, parent, name, url, managed, custom_deps,
                custom_vars, custom_hooks, deps_file, should_process,
-               should_recurse, relative, condition, protocol='https',
-               print_outbuf=False):
+               should_recurse, relative, condition, print_outbuf=False):
     gclient_utils.WorkItem.__init__(self, name)
     DependencySettings.__init__(
         self, parent, url, managed, custom_deps, custom_vars,
@@ -463,8 +462,6 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
     # dependency
     self.print_outbuf = print_outbuf
 
-    self.protocol = protocol
-
     if not self.name and self.parent:
       raise gclient_utils.Error('Dependency without name')
 
@@ -693,8 +690,7 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
             GitDependency(
                 parent=self,
                 name=name,
-                # Update URL with parent dep's protocol
-                url=GitDependency.updateProtocol(url, self.protocol),
+                url=url,
                 managed=True,
                 custom_deps=None,
                 custom_vars=self.custom_vars,
@@ -703,8 +699,7 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
                 should_process=should_process,
                 should_recurse=name in self.recursedeps,
                 relative=use_relative_paths,
-                condition=condition,
-                protocol=self.protocol))
+                condition=condition))
 
     deps_to_add.sort(key=lambda x: x.name)
     return deps_to_add
@@ -1347,16 +1342,6 @@ def _detect_host_os():
 class GitDependency(Dependency):
   """A Dependency object that represents a single git checkout."""
 
-  @staticmethod
-  def updateProtocol(url, protocol):
-    """Updates given URL's protocol"""
-    # only works on urls, skips local paths
-    if not url or not protocol or not re.match('([a-z]+)://', url) or \
-      re.match('file://', url):
-      return url
-
-    return re.sub('^([a-z]+):', protocol + ':', url)
-
   #override
   def GetScmName(self):
     """Always 'git'."""
@@ -1538,9 +1523,7 @@ it or fix the checkout.
             should_recurse=True,
             relative=None,
             condition=None,
-            print_outbuf=True,
-            # Pass parent URL protocol down the tree for child deps to use.
-            protocol=s['url'].split('://')[0] if s['url'] else None))
+            print_outbuf=True))
       except KeyError:
         raise gclient_utils.Error('Invalid .gclient file. Solution is '
                                   'incomplete: %s' % s)
@@ -1769,8 +1752,7 @@ it or fix the checkout.
               GitDependency(
                   parent=self,
                   name=entry,
-                  # Update URL with parent dep's protocol
-                  url=GitDependency.updateProtocol(prev_url, self.protocol),
+                  url=prev_url,
                   managed=False,
                   custom_deps={},
                   custom_vars={},
@@ -1779,8 +1761,7 @@ it or fix the checkout.
                   should_process=True,
                   should_recurse=False,
                   relative=None,
-                  condition=None,
-                  protocol=self.protocol))
+                  condition=None))
           if modified_files and self._options.delete_unversioned_trees:
             print('\nWARNING: \'%s\' is no longer part of this client.\n'
                   'Despite running \'gclient sync -D\' no action was taken '

+ 1 - 1
tests/fetch_test.py

@@ -54,7 +54,7 @@ class TestUtilityFunctions(unittest.TestCase):
       no_history=False,
       force=False,
       config='foo',
-      protocol_override=None,
+      protocol_override='https',
       props=[]), response)
 
     response = fetch.handle_args([

+ 0 - 5
tests/gclient_test.py

@@ -236,7 +236,6 @@ class GclientTest(trial_dir.TestCase):
         should_recurse=False,
         relative=False,
         condition=None,
-        protocol='https',
         print_outbuf=True)
     self.assertEqual('proto://host/path@revision', d.url)
 
@@ -259,7 +258,6 @@ class GclientTest(trial_dir.TestCase):
             should_recurse=True,
             relative=False,
             condition=None,
-            protocol='https',
             print_outbuf=True),
         gclient.Dependency(
             parent=obj,
@@ -274,7 +272,6 @@ class GclientTest(trial_dir.TestCase):
             should_recurse=False,
             relative=False,
             condition=None,
-            protocol='https',
             print_outbuf=True),
       ],
       [])
@@ -293,7 +290,6 @@ class GclientTest(trial_dir.TestCase):
             should_recurse=False,
             relative=False,
             condition=None,
-            protocol='https',
             print_outbuf=True),
       ],
       [])
@@ -1312,7 +1308,6 @@ class GclientTest(trial_dir.TestCase):
             should_recurse=True,
             relative=False,
             condition=None,
-            protocol='https',
             print_outbuf=True),
       ],
       [])