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