diff options
author | MinSeong Kim <min.s.kim@samsung.com> | 2017-09-09 14:17:52 +0000 |
---|---|---|
committer | MinSeong Kim <min.s.kim@samsung.com> | 2017-09-09 14:17:52 +0000 |
commit | 491dc19ec454a3b0aa25e834e6c4098dd46aaa3a (patch) | |
tree | c769c4497894b7483c68e9c9b260622d5006bd35 /cmake/modules | |
parent | 2d82e741fe75344ed257e6139697ddedfc2d6d9f (diff) | |
download | llvm-491dc19ec454a3b0aa25e834e6c4098dd46aaa3a.tar.gz |
[CMake] Update GetSVN.cmake to handle repo
Summary:
When repo is used with git, 'clang --version' option does not display
the correct revision information (i.e. git hash on TOP) as the following:
clang version 6.0.0 --->
clang version 6.0.0 (clang version) (llvm version)
This is because repo also creates .git/svn folder as git-svn does and
this makes repo with git uses "git svn info" command, which is only for
git-svn, to retrieve its revision information, making null for the info.
To correctly distinguish between git-svn and repo with git, the folder
hierarchy to specify for git-svn should be .git/svn/refs as the "git svn
info" command depends on the revision data in .git/svn/refs. This patch
in turn makes repo with git passes through to the third macro,
get_source_info_git, in get_source_info function, resulting in correctly
retrieving the revision information for repo with git using "git log ..."
command.
This patch is tested with git, svn, git-svn, and repo with git.
Reviewers: llvm-commits, probinson, rnk
Reviewed By: rnk
Subscribers: rnk, mehdi_amini, beanz, mgorny
Differential Revision: https://reviews.llvm.org/D35532
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312864 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'cmake/modules')
-rw-r--r-- | cmake/modules/GetSVN.cmake | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/cmake/modules/GetSVN.cmake b/cmake/modules/GetSVN.cmake index 0a673b908f1..f729395f6e4 100644 --- a/cmake/modules/GetSVN.cmake +++ b/cmake/modules/GetSVN.cmake @@ -84,7 +84,7 @@ endmacro() function(get_source_info path revision repository) if (EXISTS "${path}/.svn") get_source_info_svn("${path}" revision repository) - elseif (EXISTS "${path}/.git/svn") + elseif (EXISTS "${path}/.git/svn/refs") get_source_info_git_svn("${path}" revision repository) elseif (EXISTS "${path}/.git") get_source_info_git("${path}" revision repository) |