diff options
-rw-r--r-- | python/servo/command_base.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/python/servo/command_base.py b/python/servo/command_base.py index e3942ef66e0..9172a398e1f 100644 --- a/python/servo/command_base.py +++ b/python/servo/command_base.py @@ -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()) |