-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Do not apply patches if sub non-git repo is located in a git repo. #545
Changes from 3 commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -87,7 +87,7 @@ endfunction() | |
# Then all patches from the `patches_dir` are committed to the `target_branch`. | ||
# Does nothing if the `target_branch` is already checked out in the `repo_dir`. | ||
# | ||
function(apply_patches repo_dir patches_dir base_revision target_branch ret) | ||
function(apply_patches repo_dir patches_dir base_revision target_branch) | ||
foreach(patches_dir ${patches_dir}) | ||
file(GLOB patches_in_dir ${patches_dir}/*.patch) | ||
list(APPEND patches ${patches_in_dir}) | ||
|
@@ -97,19 +97,20 @@ function(apply_patches repo_dir patches_dir base_revision target_branch ret) | |
return() | ||
endif() | ||
|
||
message(STATUS "[OPENCL-CLANG] Patching repository ${repo_dir}") | ||
# Check if it's a git repo | ||
if(EXISTS "${repo_dir}/.git") | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. can command in https://stackoverflow.com/questions/2044574/determine-if-directory-is-under-git-control/2044714#comment36357325_2044714 be used to detect if a folder is a git repo? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. it seems [haonanya@shliclel4059 opencl-clang]$ git rev-parse --is-inside-work-tree So when llvm is as a sub-dir in a repo, the command can't detect it. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I see |
||
message(STATUS "[OPENCL-CLANG] Patching repository ${repo_dir}") | ||
else() | ||
message(STATUS "[OPENCL-CLANG][Warning] ${repo_dir} is not a git repository, therefore, local patches are not applied") | ||
return() | ||
endif() | ||
# Check if the target branch already exists | ||
execute_process( | ||
COMMAND ${GIT_EXECUTABLE} rev-parse --verify --no-revs -q ${target_branch} | ||
WORKING_DIRECTORY ${repo_dir} | ||
RESULT_VARIABLE patches_needed | ||
OUTPUT_QUIET | ||
) | ||
if(patches_needed EQUAL 128) # not a git repo | ||
set(${ret} True PARENT_SCOPE) | ||
message(STATUS "[OPENCL-CLANG][Warning] ${repo_dir} is not a git repository, therefore, local patches are not applied") | ||
return() | ||
endif() | ||
if(patches_needed EQUAL 1) # The target branch doesn't exist | ||
list(SORT patches) | ||
is_valid_revision(${repo_dir} ${base_revision} exists_base_rev) | ||
|
@@ -159,7 +160,7 @@ function(apply_patches repo_dir patches_dir base_revision target_branch ret) | |
) | ||
endif() | ||
if (NOT (ret_check_out OR ret_apply_patch)) | ||
set(${ret} True PARENT_SCOPE) | ||
message(STATUS "[OPENCL-CLANG] Applied patch successfully!") | ||
else() | ||
message(FATAL_ERROR "[OPENCL-CLANG] Failed to apply patch!") | ||
endif() | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Apply local patches"