Update depot_tools.diff

This commit is contained in:
uazo 2022-07-15 10:02:47 +02:00 committed by GitHub
parent fd177a7772
commit abf39d8c09
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,57 +1,60 @@
diff --git a/gclient_scm.py b/gclient_scm.py
index f58c07a8..c8409726 100644
--- a/gclient_scm.py
+++ b/gclient_scm.py
@@ -1012,28 +1012,35 @@ class GitWrapper(SCMWrapper):
gclient_utils.safe_makedirs(parent_dir)
template_dir = None
+ use_fetch = False
@@ -1137,31 +1137,29 @@ class GitWrapper(SCMWrapper):
clone_cmd.append(url)
template_dir = None
+ use_fetch = False
+
+ tmp_dir = tempfile.mkdtemp(
+ prefix='_gclient_%s_' % os.path.basename(self.checkout_path),
+ dir=parent_dir)
+ tmp_dir = tempfile.mkdtemp(
+ prefix='_gclient_%s_' % os.path.basename(self.checkout_path),
+ dir=parent_dir)
+
if hasattr(options, 'no_history') and options.no_history:
if gclient_utils.IsGitSha(revision):
# In the case of a subproject, the pinned sha is not necessarily the
# head of the remote branch (so we can't just use --depth=N). Instead,
# we tell git to fetch all the remote objects from SHA..HEAD by means of
# a template git dir which has a 'shallow' file pointing to the sha.
- template_dir = tempfile.mkdtemp(
- prefix='_gclient_gittmp_%s' % os.path.basename(self.checkout_path),
- dir=parent_dir)
- self._Run(['init', '--bare', template_dir], options, cwd=self._root_dir)
- with open(os.path.join(template_dir, 'shallow'), 'w') as template_file:
- template_file.write(revision)
- clone_cmd.append('--template=' + template_dir)
+ self._Run(['init', tmp_dir], options, cwd=self._root_dir)
if hasattr(options, 'no_history') and options.no_history:
if gclient_utils.IsGitSha(revision):
- # In the case of a subproject, the pinned sha is not necessarily the
- # head of the remote branch (so we can't just use --depth=N). Instead,
- # we tell git to fetch all the remote objects from SHA..HEAD by means
- # of a template git dir which has a 'shallow' file pointing to the
- # sha.
- template_dir = tempfile.mkdtemp(prefix='_gclient_gittmp_%s' %
- os.path.basename(self.checkout_path),
- dir=parent_dir)
- self._Run(['init', '--bare', template_dir],
- options,
- cwd=self._root_dir)
- with open(os.path.join(template_dir, 'shallow'),
- 'w') as template_file:
- template_file.write(revision)
- clone_cmd.append('--template=' + template_dir)
+ self._Run(['init', tmp_dir], options, cwd=self._root_dir)
+
+ self._Run(['-C', tmp_dir, 'remote', 'add', 'origin', url], options, cwd=self._root_dir)
+ self._Run(['-C', tmp_dir, 'remote', 'add', 'origin', url], options, cwd=self._root_dir)
+
+ clone_cmd = cfg + ['-C', tmp_dir, 'fetch', '--progress']
+ clone_cmd.append('--depth=1')
+ clone_cmd.append(url)
+ clone_cmd.append(revision)
+ use_fetch = True
else:
# Otherwise, we're just interested in the HEAD. Just use --depth.
clone_cmd.append('--depth=1')
- tmp_dir = tempfile.mkdtemp(
- prefix='_gclient_%s_' % os.path.basename(self.checkout_path),
- dir=parent_dir)
try:
+ clone_cmd = cfg + ['-C', tmp_dir, 'fetch', '--progress']
+ clone_cmd.append('--depth=1')
+ clone_cmd.append(url)
+ clone_cmd.append(revision)
+ use_fetch = True
else:
# Otherwise, we're just interested in the HEAD. Just use --depth.
clone_cmd.append('--depth=1')
- tmp_dir = tempfile.mkdtemp(prefix='_gclient_%s_' %
- os.path.basename(self.checkout_path),
- dir=parent_dir)
- clone_cmd.append(tmp_dir)
+ if use_fetch == False:
+ clone_cmd.append(tmp_dir)
+
if self.print_outbuf:
print_stdout = True
filter_fn = None
@@ -1328,6 +1335,9 @@ class GitWrapper(SCMWrapper):
try:
self._Run(clone_cmd,
@@ -1452,6 +1450,9 @@ class GitWrapper(SCMWrapper):
if refspec:
fetch_cmd.append(refspec)
+ if hasattr(options, 'no_history') and options.no_history:
+ fetch_cmd.append('--depth=1')
+