diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-11-19 20:01:43 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-11-19 20:22:21 +0400 |
commit | 50fbebe0a443d10b3b5525c9a7e152acc32b4527 (patch) | |
tree | 2aabfd0e8efc73563c9adce60a654bfb1d6a4c00 /build_files | |
parent | 5743a6e36458874be1fe992a361ce493edbee5a4 (diff) |
Buildinfo fixes
- Use -M suffix if working tree does have uncommitted
modifications.
- Local commits are considered local changes as well
Diffstat (limited to 'build_files')
-rw-r--r-- | build_files/cmake/buildinfo.cmake | 19 | ||||
-rw-r--r-- | build_files/scons/tools/Blender.py | 16 |
2 files changed, 27 insertions, 8 deletions
diff --git a/build_files/cmake/buildinfo.cmake b/build_files/cmake/buildinfo.cmake index 389386629db..2cc92df15e7 100644 --- a/build_files/cmake/buildinfo.cmake +++ b/build_files/cmake/buildinfo.cmake @@ -22,12 +22,6 @@ if(EXISTS ${SOURCE_DIR}/.git/) OUTPUT_VARIABLE MY_WC_BRANCH OUTPUT_STRIP_TRAILING_WHITESPACE) - # Get latest version tag - execute_process(COMMAND git describe --match "v[0-9]*" --abbrev=0 - WORKING_DIRECTORY ${SOURCE_DIR} - OUTPUT_VARIABLE _git_latest_version_tag - OUTPUT_STRIP_TRAILING_WHITESPACE) - execute_process(COMMAND git log -1 --format=%ct WORKING_DIRECTORY ${SOURCE_DIR} OUTPUT_VARIABLE MY_WC_COMMIT_TIMESTAMP @@ -44,11 +38,20 @@ if(EXISTS ${SOURCE_DIR}/.git/) OUTPUT_STRIP_TRAILING_WHITESPACE) if(NOT _git_changed_files STREQUAL "") - set(MY_WC_CHANGE "${MY_WC_CHANGE}M") + set(MY_WC_BRANCH "${MY_WC_BRANCH} (modified)") + else() + # Unpushed commits are also considered local odifications + execute_process(COMMAND git log @{u}.. + WORKING_DIRECTORY ${SOURCE_DIR} + OUTPUT_VARIABLE _git_unpushed_log + OUTPUT_STRIP_TRAILING_WHITESPACE) + if(NOT _git_unpushed_log STREQUAL "") + set(MY_WC_BRANCH "${MY_WC_BRANCH} (modified)") + endif() + unset(_git_unpushed_log) endif() unset(_git_changed_files) - unset(_git_latest_version_tag) endif() endif() diff --git a/build_files/scons/tools/Blender.py b/build_files/scons/tools/Blender.py index e750ce09aff..894c8dbca25 100644 --- a/build_files/scons/tools/Blender.py +++ b/build_files/scons/tools/Blender.py @@ -421,6 +421,22 @@ def buildinfo(lenv, build_type): else: build_hash = os.popen('git rev-parse --short HEAD').read().strip() build_branch = os.popen('git rev-parse --abbrev-ref HEAD').read().strip() + + # ## Check for local modifications + has_local_changes = False + + # Update GIT index before getting dirty files + os.system('git update-index -q --refresh') + changed_files = os.popen('git diff-index --name-only HEAD --').read().strip() + + if changed_files: + has_local_changes = True + else: + unpushed_log = os.popen('git log @{u}..').read().strip() + has_local_changes = unpushed_log != '' + + if has_local_changes: + build_branch += ' (modified)' else: build_hash = 'unknown' build_commit_timestamp = '0' |