mirror of
https://gerrit.googlesource.com/git-repo
synced 2024-12-21 07:16:21 +00:00
Merge "Fix shallow clone behavior"
This commit is contained in:
commit
2635c0e3b6
17
project.py
17
project.py
@ -1877,6 +1877,13 @@ class Project(object):
|
||||
|
||||
if depth:
|
||||
cmd.append('--depth=%s' % depth)
|
||||
else:
|
||||
# If this repo has shallow objects, then we don't know which refs have
|
||||
# shallow objects or not. Tell git to unshallow all fetched refs. Don't
|
||||
# do this with projects that don't have shallow objects, since it is less
|
||||
# efficient.
|
||||
if os.path.exists(os.path.join(self.gitdir, 'shallow')):
|
||||
cmd.append('--depth=2147483647')
|
||||
|
||||
if quiet:
|
||||
cmd.append('--quiet')
|
||||
@ -1914,16 +1921,6 @@ class Project(object):
|
||||
spec.append(str((u'+%s:' % branch) + remote.ToLocal(branch)))
|
||||
cmd.extend(spec)
|
||||
|
||||
shallowfetch = self.config.GetString('repo.shallowfetch')
|
||||
if shallowfetch and shallowfetch != ' '.join(spec):
|
||||
GitCommand(self, ['fetch', '--depth=2147483647', name]
|
||||
+ shallowfetch.split(),
|
||||
bare=True, ssh_proxy=ssh_proxy).Wait()
|
||||
if depth:
|
||||
self.config.SetString('repo.shallowfetch', ' '.join(spec))
|
||||
else:
|
||||
self.config.SetString('repo.shallowfetch', None)
|
||||
|
||||
ok = False
|
||||
for _i in range(2):
|
||||
gitcmd = GitCommand(self, cmd, bare=True, ssh_proxy=ssh_proxy)
|
||||
|
Loading…
Reference in New Issue
Block a user