ExternalProject: Fix regression in GIT_TAG with remote branch name

The change in commit  v3.8.0-rc2~7^2 (ExternalProject: Run `git
checkout` with `--` to clarify arguments, 2017-02-24) broke the case of
`GIT_TAG some-remote-branch` because an explicit `--` means that the
preceding argument is a tree-ish instead of a branch.  Revert the change
and leave a comment.

Fixes: #16763
This commit is contained in:
Brad King
2017-03-31 12:53:51 -04:00
parent 18eeed4194
commit 6f3838c034

View File

@@ -600,8 +600,11 @@ if(error_code)
message(FATAL_ERROR \"Failed to clone repository: '${git_repository}'\")
endif()
# Use `git checkout <branch>` even though this risks ambiguity with a
# local path. Unfortunately we cannot use `git checkout <tree-ish> --`
# because that will not search for remote branch names, a common use case.
execute_process(
COMMAND \"${git_EXECUTABLE}\" \${git_options} checkout ${git_tag} --
COMMAND \"${git_EXECUTABLE}\" \${git_options} checkout ${git_tag}
WORKING_DIRECTORY \"${work_dir}/${src_name}\"
RESULT_VARIABLE error_code
)