@@ -102,10 +102,12 @@ function(apply_patches repo_dir patches_dir base_revision target_branch)
102
102
COMMAND ${GIT_EXECUTABLE} rev-parse --verify --no-revs -q ${target_branch}
103
103
WORKING_DIRECTORY ${repo_dir}
104
104
RESULT_VARIABLE patches_needed
105
- ERROR_QUIET
106
105
OUTPUT_QUIET
107
106
)
108
- if (patches_needed ) # The target branch doesn't exist
107
+ if (patches_needed EQUAL 128 ) # not a git repo
108
+ message (STATUS "[OPENCL-CLANG] ${repo_dir} is not a git repository" )
109
+ return ()
110
+ elseif (patches_needed EQUAL 1 ) # The target branch doesn't exist
109
111
list (SORT patches )
110
112
is_valid_revision (${repo_dir} ${base_revision} exists_base_rev )
111
113
@@ -115,7 +117,6 @@ function(apply_patches repo_dir patches_dir base_revision target_branch)
115
117
WORKING_DIRECTORY ${repo_dir}
116
118
OUTPUT_VARIABLE repo_head
117
119
OUTPUT_STRIP_TRAILING_WHITESPACE
118
- ERROR_QUIET
119
120
)
120
121
message (STATUS "[OPENCL-CLANG] ref ${base_revision} not exists in repository, using current HEAD:${repo_head} " )
121
122
set (base_revision ${repo_head} )
@@ -135,22 +136,23 @@ function(apply_patches repo_dir patches_dir base_revision target_branch)
135
136
message (STATUS "[OPENCL-CLANG] Patch ${patch} is already in local branch - ignore patching" )
136
137
else ()
137
138
execute_process ( # Apply the patch
138
- COMMAND ${GIT_EXECUTABLE} am --3way --ignore-whitespace ${patch}
139
+ COMMAND ${GIT_EXECUTABLE} am --3way --ignore-whitespace -C0 ${patch}
139
140
WORKING_DIRECTORY ${repo_dir}
140
141
OUTPUT_VARIABLE patching_log
141
- ERROR_QUIET
142
142
)
143
143
message (STATUS "[OPENCL-CLANG] Not present - ${patching_log} " )
144
144
endif ()
145
145
endforeach (patch )
146
- else ( ) # The target branch already exists
146
+ elseif ( patches_needed EQUAL 0 ) # The target branch already exists
147
147
execute_process ( # Check it out
148
148
COMMAND ${GIT_EXECUTABLE} checkout ${target_branch}
149
149
WORKING_DIRECTORY ${repo_dir}
150
- ERROR_QUIET
151
150
OUTPUT_QUIET
152
151
)
153
152
endif ()
153
+ if (ret_check_out OR ret_apply_patch )
154
+ message (FATAL_ERROR "[OPENCL-CLANG] Failed to apply patch!" )
155
+ endif ()
154
156
endfunction ()
155
157
156
158
# Usage
0 commit comments