[PATCH] D34560: Completelly disable git/svn version checking if not needed

Rafael Ávila de Espíndola via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 23 09:31:27 PDT 2017


rafael created this revision.
Herald added a subscriber: mgorny.

Working with git on a branch I find it really annoying that committing a change causes ninja to think that stuff needs to be rebuilt.

With this change at least nothing in llvm needs to be rebuild when something is committed.

I am not sure if this is the right variable to use. Should I add a new cmake option?


https://reviews.llvm.org/D34560

Files:
  include/llvm/Support/CMakeLists.txt


Index: include/llvm/Support/CMakeLists.txt
===================================================================
--- include/llvm/Support/CMakeLists.txt
+++ include/llvm/Support/CMakeLists.txt
@@ -9,25 +9,27 @@
 endfunction()
 
 macro(find_first_existing_vc_file out_var path)
-  find_program(git_executable NAMES git git.exe git.cmd)
-  # Run from a subdirectory to force git to print an absolute path.
-  execute_process(COMMAND ${git_executable} rev-parse --git-dir
-    WORKING_DIRECTORY ${path}/cmake
-    RESULT_VARIABLE git_result
-    OUTPUT_VARIABLE git_dir
-    ERROR_QUIET)
-  if(git_result EQUAL 0)
-    string(STRIP "${git_dir}" git_dir)
-    set(${out_var} "${git_dir}/logs/HEAD")
-    # some branchless cases (e.g. 'repo') may not yet have .git/logs/HEAD
-    if (NOT EXISTS "${git_dir}/logs/HEAD")
-      file(WRITE "${git_dir}/logs/HEAD" "")
+  if ( LLVM_APPEND_VC_REV )
+    find_program(git_executable NAMES git git.exe git.cmd)
+    # Run from a subdirectory to force git to print an absolute path.
+    execute_process(COMMAND ${git_executable} rev-parse --git-dir
+      WORKING_DIRECTORY ${path}/cmake
+      RESULT_VARIABLE git_result
+      OUTPUT_VARIABLE git_dir
+      ERROR_QUIET)
+    if(git_result EQUAL 0)
+      string(STRIP "${git_dir}" git_dir)
+      set(${out_var} "${git_dir}/logs/HEAD")
+      # some branchless cases (e.g. 'repo') may not yet have .git/logs/HEAD
+      if (NOT EXISTS "${git_dir}/logs/HEAD")
+        file(WRITE "${git_dir}/logs/HEAD" "")
+      endif()
+    else()
+      find_first_existing_file(${out_var}
+        "${path}/.svn/wc.db"   # SVN 1.7
+        "${path}/.svn/entries" # SVN 1.6
+      )
     endif()
-  else()
-    find_first_existing_file(${out_var}
-      "${path}/.svn/wc.db"   # SVN 1.7
-      "${path}/.svn/entries" # SVN 1.6
-    )
   endif()
 endmacro()
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D34560.103738.patch
Type: text/x-patch
Size: 1833 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170623/d2db3995/attachment.bin>


More information about the llvm-commits mailing list