diff options
-rw-r--r-- | build_files/cmake/buildinfo.cmake | 8 | ||||
-rw-r--r-- | build_files/scons/tools/Blender.py | 11 |
2 files changed, 14 insertions, 5 deletions
diff --git a/build_files/cmake/buildinfo.cmake b/build_files/cmake/buildinfo.cmake index c31a7cfacb0..fc5cb017283 100644 --- a/build_files/cmake/buildinfo.cmake +++ b/build_files/cmake/buildinfo.cmake @@ -17,7 +17,8 @@ if(EXISTS ${SOURCE_DIR}/.git) execute_process(COMMAND git rev-parse --short @{u} WORKING_DIRECTORY ${SOURCE_DIR} OUTPUT_VARIABLE MY_WC_HASH - OUTPUT_STRIP_TRAILING_WHITESPACE) + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET) if (MY_WC_HASH STREQUAL "") # Local branch, not set to upstream. @@ -25,7 +26,7 @@ if(EXISTS ${SOURCE_DIR}/.git) execute_process(COMMAND git rev-parse --short HEAD WORKING_DIRECTORY ${SOURCE_DIR} OUTPUT_VARIABLE MY_WC_HASH - OUTPUT_STRIP_TRAILING_WHITESPACE) + OUTPUT_STRIP_TRAILING_WHITESPACE) endif() execute_process(COMMAND git rev-parse --abbrev-ref HEAD @@ -55,7 +56,8 @@ if(EXISTS ${SOURCE_DIR}/.git) execute_process(COMMAND git log @{u}.. WORKING_DIRECTORY ${SOURCE_DIR} OUTPUT_VARIABLE _git_unpushed_log - OUTPUT_STRIP_TRAILING_WHITESPACE) + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET) if(NOT _git_unpushed_log STREQUAL "") set(MY_WC_BRANCH "${MY_WC_BRANCH} (modified)") endif() diff --git a/build_files/scons/tools/Blender.py b/build_files/scons/tools/Blender.py index 0f02502db60..d9c2edfefcf 100644 --- a/build_files/scons/tools/Blender.py +++ b/build_files/scons/tools/Blender.py @@ -419,11 +419,18 @@ def buildinfo(lenv, build_type): build_commit_timestamp = '0' build_branch = 'unknown' else: - build_hash = os.popen('git rev-parse --short @{u}').read().strip() + import subprocess + no_upstream = False + + process = subprocess.Popen(['git', 'rev-parse', '--short', '@{u}'], + stdout=subprocess.PIPE, stderr=subprocess.PIPE) + build_hash, stderr = process.communicate() + build_branch = os.popen('git rev-parse --abbrev-ref HEAD').read().strip() if build_hash == '': build_hash = os.popen('git rev-parse --short HEAD').read().strip() + no_upstream = True # ## Check for local modifications has_local_changes = False @@ -434,7 +441,7 @@ def buildinfo(lenv, build_type): if changed_files: has_local_changes = True - else: + elif no_upstream == False: unpushed_log = os.popen('git log @{u}..').read().strip() has_local_changes = unpushed_log != '' |