Get the real commit hash, not the bundle hash

It's extracted from the commit message of the bundle.
This commit is contained in:
camelid 2020-05-30 17:30:22 -07:00
parent 5dae012db8
commit 02d69a0fda

View file

@ -734,9 +734,16 @@ install them, let us know by filing a bug!")
git_info = []
if os.path.isdir('.git') and is_build:
git_sha = subprocess.check_output([
'git', 'rev-parse', '--short', 'HEAD'
# Get the subject of the bundle commit
git_bundle_subject = subprocess.check_output([
'git', 'show', '-s', '--format=%s', 'HEAD'
]).strip()
# Get the SHA-1 from the bundle subject: "Shallow version of commit {sha1}"
git_sha = git_bundle_subject.split(' ')[-1]
# Verify that it's a valid commit
# NOTE: this will pass even if `git_sha` is 'master' or another branch or ref
subprocess.check_call('git', 'cat-file', 'commit', git_sha)
git_is_dirty = bool(subprocess.check_output([
'git', 'status', '--porcelain'
]).strip())