summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2017-02-15 18:43:34 (GMT)
committerBrad King <brad.king@kitware.com>2017-02-15 19:44:37 (GMT)
commit51849bbab8b1b6b8299dc08e98ca1524cc1e168a (patch)
tree4ce055c2d54abdceb3ac45b09ac07692933030a6
parent2b1cdd85b8943059e5f2b27735df261743749342 (diff)
downloadCMake-51849bbab8b1b6b8299dc08e98ca1524cc1e168a.zip
CMake-51849bbab8b1b6b8299dc08e98ca1524cc1e168a.tar.gz
CMake-51849bbab8b1b6b8299dc08e98ca1524cc1e168a.tar.bz2
ctest_update: Fix svn log and external loading
Since commit v3.7.0-rc1~132^2 (CTestSVN: Fix segfault when CTEST_UPDATE_VERSION_ONLY is enabled, 2016-09-12) we do not properly extract svn log or externals. After updating we erase the information that was loaded before updating and can no longer log the changes between revisions to extract authors. Fix this by only loading the repository information once, whether needed by `NoteOldRevision`, `NoteNewRevision`, or both. Fixes: #12630, #16646
-rw-r--r--Source/CTest/cmCTestSVN.cxx5
1 files changed, 4 insertions, 1 deletions
diff --git a/Source/CTest/cmCTestSVN.cxx b/Source/CTest/cmCTestSVN.cxx
index fc405ca..410e0d4 100644
--- a/Source/CTest/cmCTestSVN.cxx
+++ b/Source/CTest/cmCTestSVN.cxx
@@ -523,8 +523,11 @@ private:
void cmCTestSVN::LoadRepositories()
{
+ if (!this->Repositories.empty()) {
+ return;
+ }
+
// Info for root repository
- this->Repositories.clear();
this->Repositories.push_back(SVNInfo(""));
this->RootInfo = &(this->Repositories.back());