msubprojects: when revision is an available commit, do not fetch updates

It's not even worth bothering to contact the network because it can
never be anything other than what we have already.
pull/9277/head
Eli Schwartz 3 years ago
parent 4568482316
commit 99112d6c79
No known key found for this signature in database
GPG Key ID: CEB167EFB5722BD6
  1. 8
      mesonbuild/msubprojects.py

@ -248,7 +248,13 @@ class Runner:
self.log(mlog.red(e.output)) self.log(mlog.red(e.output))
self.log(mlog.red(str(e))) self.log(mlog.red(str(e)))
return False return False
if True: if self.wrap_resolver.is_git_full_commit_id(revision) and \
quiet_git(['rev-parse', '--verify', revision + '^{commit}'], self.repo_dir)[0]:
# The revision we need is both a commit and available. So we do not
# need to fetch it because it cannot be updated. Instead, trick
# git into setting FETCH_HEAD just in case, from the local commit.
self.git_output(['fetch', '.', revision])
else:
try: try:
# Fetch only the revision we need, this avoids fetching useless branches. # Fetch only the revision we need, this avoids fetching useless branches.
# revision can be either a branch, tag or commit id. In all cases we want # revision can be either a branch, tag or commit id. In all cases we want

Loading…
Cancel
Save