@@ -56,7 +56,6 @@ function(is_backport_patch_present patch_path repo_dir patch_in_branch)
5656        WORKING_DIRECTORY  ${repo_dir} 
5757        RESULT_VARIABLE  patch_not_in_branches
5858        OUTPUT_QUIET 
59-         ERROR_QUIET
6059        )
6160    if (patch_not_in_branches)
6261        set (patch_in_branch False  PARENT_SCOPE) # The patch is not present in local branch 
@@ -73,7 +72,6 @@ function(is_valid_revision repo_dir revision return_val)
7372        COMMAND  ${GIT_EXECUTABLE}  log  -1 ${revision} 
7473        WORKING_DIRECTORY  ${repo_dir} 
7574        RESULT_VARIABLE  output_var
76-         ERROR_QUIET
7775        OUTPUT_QUIET 
7876        )
7977    if (${output_var}  EQUAL  0)
@@ -95,16 +93,21 @@ function(apply_patches repo_dir patches_dir base_revision target_branch)
9593        return ()
9694    endif ()
9795
98-     message (STATUS  "[OPENCL-CLANG] Patching repository ${repo_dir} " )
96+     # Check if it's a git repo 
97+     if (EXISTS  "${repo_dir} /.git" )
98+       message (STATUS  "[OPENCL-CLANG] Patching repository ${repo_dir} " )
99+     else ()
100+       message (STATUS  "[OPENCL-CLANG][Warning] ${repo_dir}  is not a git repository, therefore, local patches are not applied" )
101+       return ()
102+     endif ()
99103    # Check if the target branch already exists 
100104    execute_process (
101105        COMMAND  ${GIT_EXECUTABLE}  rev-parse --verify --no -revs -q ${target_branch} 
102106        WORKING_DIRECTORY  ${repo_dir} 
103107        RESULT_VARIABLE  patches_needed
104-         ERROR_QUIET
105108        OUTPUT_QUIET 
106109    )
107-     if (patches_needed) # The target branch doesn't exist 
110+     if (patches_needed  EQUAL  1 ) # The target branch doesn't exist 
108111        list (SORT  patches)
109112        is_valid_revision(${repo_dir}  ${base_revision}  exists_base_rev)
110113
@@ -114,7 +117,6 @@ function(apply_patches repo_dir patches_dir base_revision target_branch)
114117                WORKING_DIRECTORY  ${repo_dir} 
115118                OUTPUT_VARIABLE  repo_head
116119                OUTPUT_STRIP_TRAILING_WHITESPACE
117-                 ERROR_QUIET
118120                )
119121            message (STATUS  "[OPENCL-CLANG] ref ${base_revision}  not exists in repository, using current HEAD:${repo_head} " )
120122            set (base_revision ${repo_head} )
@@ -134,22 +136,25 @@ function(apply_patches repo_dir patches_dir base_revision target_branch)
134136                message (STATUS  "[OPENCL-CLANG] Patch ${patch}  is already in local branch - ignore patching" )
135137            else ()
136138                execute_process ( # Apply the patch 
137-                     COMMAND  ${GIT_EXECUTABLE}  am --3way --ignore -whitespace ${patch} 
139+                     COMMAND  ${GIT_EXECUTABLE}  am --3way --ignore -whitespace -C0  ${patch} 
138140                    WORKING_DIRECTORY  ${repo_dir} 
139141                    OUTPUT_VARIABLE  patching_log
140-                     ERROR_QUIET
141142                )
142143                message (STATUS  "[OPENCL-CLANG] Not present - ${patching_log} " )
143144            endif ()
144145        endforeach (patch)
145-     else  ( ) # The target branch already exists 
146+     elseif  (patches_needed  EQUAL  0 ) # The target branch already exists 
146147        execute_process ( # Check it out 
147148            COMMAND  ${GIT_EXECUTABLE}  checkout ${target_branch} 
148149            WORKING_DIRECTORY  ${repo_dir} 
149-             ERROR_QUIET
150150            OUTPUT_QUIET 
151151        )
152152    endif ()
153+     if  (NOT  (ret_check_out OR  ret_apply_patch))
154+         message (STATUS  "[OPENCL-CLANG] Applied patch successfully!" )
155+     else ()
156+         message (FATAL_ERROR "[OPENCL-CLANG] Failed to apply patch!" )
157+     endif ()
153158endfunction ()
154159
155160# Usage 
0 commit comments