Commit: d32ae028ba1e345bf853fdbd698a62cf7067267a
Author: Sergey Sharybin
Date:   Thu Sep 22 15:00:23 2016 +0200
Branches: blender-v2.78-release
https://developer.blender.org/rBd32ae028ba1e345bf853fdbd698a62cf7067267a

Buildinfo: Improve behavior with detached HEAD

Try real hard to detect which branch we've detached from.

===================================================================

M       build_files/cmake/buildinfo.cmake

===================================================================

diff --git a/build_files/cmake/buildinfo.cmake 
b/build_files/cmake/buildinfo.cmake
index af0ccd2..1f0a283 100644
--- a/build_files/cmake/buildinfo.cmake
+++ b/build_files/cmake/buildinfo.cmake
@@ -27,13 +27,12 @@ if(EXISTS ${SOURCE_DIR}/.git)
                                OUTPUT_VARIABLE MY_WC_HASH
                                OUTPUT_STRIP_TRAILING_WHITESPACE)
 
-               execute_process(COMMAND git branch --list master --contains 
${MY_WC_HASH}
+               execute_process(COMMAND git branch --list master blender-v* 
--contains ${MY_WC_HASH}
                                WORKING_DIRECTORY ${SOURCE_DIR}
                                OUTPUT_VARIABLE _git_contains_check
                                OUTPUT_STRIP_TRAILING_WHITESPACE)
 
-               STRING(REGEX REPLACE "^[ \t]+" "" _git_contains_check 
"${_git_contains_check}")
-               if(_git_contains_check STREQUAL "master")
+               if(NOT _git_contains_check STREQUAL "")
                        set(MY_WC_BRANCH "master")
                else()
                        execute_process(COMMAND git show-ref --tags -d
@@ -48,6 +47,22 @@ if(EXISTS ${SOURCE_DIR}/.git)
 
                        if(_git_tag_hashes MATCHES "${_git_head_hash}")
                                set(MY_WC_BRANCH "master")
+                       else()
+                               execute_process(COMMAND git branch --contains 
${MY_WC_HASH}
+                                               WORKING_DIRECTORY ${SOURCE_DIR}
+                                               OUTPUT_VARIABLE 
_git_contains_branches
+                                               
OUTPUT_STRIP_TRAILING_WHITESPACE)
+                               string(REGEX REPLACE "^\\*[ \t]+" "" 
_git_contains_branches "${_git_contains_branches}")
+                               string(REGEX REPLACE "[\r\n]+" ";" 
_git_contains_branches "${_git_contains_branches}")
+                               string(REGEX REPLACE ";[ \t]+" ";" 
_git_contains_branches "${_git_contains_branches}")
+                               foreach(_branch ${_git_contains_branches})
+                                       if (NOT "${_branch}" MATCHES 
"\\(HEAD.*")
+                                               set(MY_WC_BRANCH "${_branch}")
+                                               break()
+                                       endif()
+                               endforeach()
+                               unset(_branch)
+                               unset(_git_contains_branches)
                        endif()
 
                        unset(_git_tag_hashes)

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to