mirror of
https://gerrit.googlesource.com/git-repo
synced 2025-04-20 14:09:30 +00:00
Fallback to full sync when depth enabled fetch of a sha1 fails
In sha1 mode, when depth is enabled, syncing the revision from upstream may not work because some servers only allow fetching named refs. Fetching a specific sha1 may result in an error like 'server does not allow request for unadvertised object'. In this case, attempt a full sync with depth disabled. Bug: 410825502 Change-Id: If51bcf18b877cd9491706f5bc3d6fd13c0c3d4f3 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/468282 Commit-Queue: Kaushik Lingarkar <kaushikl@qti.qualcomm.com> Tested-by: Kaushik Lingarkar <kaushikl@qti.qualcomm.com> Reviewed-by: Gavin Mak <gavinmak@google.com> Reviewed-by: Mike Frysinger <vapier@google.com>
This commit is contained in:
parent
97dc5c1bd9
commit
a94457d1ce
@ -2755,6 +2755,14 @@ class Project:
|
|||||||
# field; it doesn't exist, thus abort the optimization attempt
|
# field; it doesn't exist, thus abort the optimization attempt
|
||||||
# and do a full sync.
|
# and do a full sync.
|
||||||
break
|
break
|
||||||
|
elif depth and is_sha1 and ret == 1:
|
||||||
|
# In sha1 mode, when depth is enabled, syncing the revision
|
||||||
|
# from upstream may not work because some servers only allow
|
||||||
|
# fetching named refs. Fetching a specific sha1 may result
|
||||||
|
# in an error like 'server does not allow request for
|
||||||
|
# unadvertised object'. In this case, attempt a full sync
|
||||||
|
# without depth.
|
||||||
|
break
|
||||||
elif ret < 0:
|
elif ret < 0:
|
||||||
# Git died with a signal, exit immediately.
|
# Git died with a signal, exit immediately.
|
||||||
break
|
break
|
||||||
|
Loading…
x
Reference in New Issue
Block a user