diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake --- a/llvm/cmake/modules/AddLLVM.cmake +++ b/llvm/cmake/modules/AddLLVM.cmake @@ -1937,7 +1937,13 @@ get_filename_component(git_dir ${git_output} ABSOLUTE BASE_DIR ${path}) # 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" "") + execute_process(COMMAND ${CMAKE_COMMAND} -E touch HEAD + WORKING_DIRECTORY "${git_dir}/logs" + RESULT_VARIABLE touch_head_result + ERROR_QUIET) + if (NOT touch_head_result EQUAL 0) + return() + endif() endif() set(${out_var} "${git_dir}/logs/HEAD" PARENT_SCOPE) endif()