mirror of
https://chromium.googlesource.com/chromium/tools/depot_tools.git
synced 2026-01-11 18:51:29 +00:00
Update origin/HEAD automatically
If origin/HEAD resolves to `master`, depot_tools can check if origin/main exists. If so, it's very likely that origin/HEAD should be updated to point to origin/main. In the worst case, this will result in extra git remote call while not changing local state (i.e origin/HEAD remained unchanged). R=gavinmak@google.com Bug: 1190702 Change-Id: I51e69d7a95d3534e1820099b4b6983d38b5e2763 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2795075 Reviewed-by: Gavin Mak <gavinmak@google.com> Commit-Queue: Josip Sokcevic <sokcevic@google.com>
This commit is contained in:
@@ -683,7 +683,16 @@ def repo_root():
|
||||
def upstream_default():
|
||||
"""Returns the default branch name of the origin repository."""
|
||||
try:
|
||||
return run('rev-parse', '--abbrev-ref', 'origin/HEAD')
|
||||
ret = run('rev-parse', '--abbrev-ref', 'origin/HEAD')
|
||||
# Detect if the repository migrated to main branch
|
||||
if ret == 'origin/master':
|
||||
try:
|
||||
ret = run('rev-parse', '--abbrev-ref', 'origin/main')
|
||||
run('remote', 'set-head', '-a', 'origin')
|
||||
ret = run('rev-parse', '--abbrev-ref', 'origin/HEAD')
|
||||
except subprocess2.CalledProcessError:
|
||||
pass
|
||||
return ret
|
||||
except subprocess2.CalledProcessError:
|
||||
return 'origin/master'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user