diff options
author | Brad King <brad.king@kitware.com> | 2010-06-23 13:14:43 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2010-06-23 13:14:43 (GMT) |
commit | bbfe241c6a4386a39ebb93cdb70a8390eab14eef (patch) | |
tree | 054d21feea9aa984dfe692a4d562b68c091e2b8a /Tests/CTestUpdateGIT.cmake.in | |
parent | b1418625645ebef66e54d75004c82d88807e154f (diff) | |
download | CMake-bbfe241c6a4386a39ebb93cdb70a8390eab14eef.zip CMake-bbfe241c6a4386a39ebb93cdb70a8390eab14eef.tar.gz CMake-bbfe241c6a4386a39ebb93cdb70a8390eab14eef.tar.bz2 |
CTest: Parse empty Git commits correctly
Git's diff-tree format has no '\n'-terminated blank line at the end of
its commit message body block if there are no diff lines. Instead the
message body is terminated by '\0' and there is no diff section. Teach
CTest to parse the format in this case.
Diffstat (limited to 'Tests/CTestUpdateGIT.cmake.in')
-rw-r--r-- | Tests/CTestUpdateGIT.cmake.in | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/Tests/CTestUpdateGIT.cmake.in b/Tests/CTestUpdateGIT.cmake.in index 4ac1b31..f672a52 100644 --- a/Tests/CTestUpdateGIT.cmake.in +++ b/Tests/CTestUpdateGIT.cmake.in @@ -131,6 +131,22 @@ run_child( COMMAND ${GIT} submodule update ) +# Save the first revision name. +execute_process( + WORKING_DIRECTORY ${TOP}/user-source + COMMAND ${GIT} rev-parse HEAD + OUTPUT_VARIABLE revision1 + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + +#----------------------------------------------------------------------------- +# Create an empty commit. +message("Creating empty commit...") +run_child( + WORKING_DIRECTORY ${TOP}/user-source + COMMAND ${GIT} commit --allow-empty -m "Empty commit" + ) + #----------------------------------------------------------------------------- # Make changes in the working tree. message("Changing content...") @@ -196,7 +212,7 @@ macro(rewind_source src_dir) message("Backing up to revision 1...") run_child( WORKING_DIRECTORY ${TOP}/${src_dir} - COMMAND ${GIT} reset --hard origin/master~2 + COMMAND ${GIT} reset --hard ${revision1} ) run_child( WORKING_DIRECTORY ${TOP}/${src_dir} @@ -261,7 +277,7 @@ execute_process( ) execute_process( WORKING_DIRECTORY \"${TOP}/dash-source\" - COMMAND \"${GIT}\" reset --hard master~2 + COMMAND \"${GIT}\" reset --hard ${revision1} ) execute_process( WORKING_DIRECTORY \"${TOP}/dash-source\" |