From 5f2400414acd5374a49ffc42cb50b5fe4275655b Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Fri, 29 Nov 2013 18:19:42 +0600 Subject: [PATCH] Buildinfo: suppress error prints when building local branches Before this console output contained messages about branch is not configured to use any upstream branch which is not useful information at all. --- build_files/cmake/buildinfo.cmake | 8 +++++--- 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 != ''