Skip to content
Snippets Groups Projects
Commit b35311ca authored by Nils Gladitz's avatar Nils Gladitz
Browse files

CTestSVN: Fix segfault when CTEST_UPDATE_VERSION_ONLY is enabled

Before the change the list of externals was queried only
before the svn update.

With the change the list is queried both before and after.
This should also be more accurate since the list of externals might
change during the update.
parent a7305ef0
No related branches found
No related tags found
No related merge requests found
......@@ -108,13 +108,8 @@ std::string cmCTestSVN::LoadInfo(SVNInfo& svninfo)
void cmCTestSVN::NoteOldRevision()
{
// Info for root repository
this->Repositories.push_back(SVNInfo(""));
this->RootInfo = &(this->Repositories.back());
// Info for the external repositories
this->LoadExternals();
this->LoadRepositories();
// Get info for all the repositories
std::list<SVNInfo>::iterator itbeg = this->Repositories.begin();
std::list<SVNInfo>::iterator itend = this->Repositories.end();
for (; itbeg != itend; itbeg++) {
......@@ -134,7 +129,8 @@ void cmCTestSVN::NoteOldRevision()
void cmCTestSVN::NoteNewRevision()
{
// Get info for the external repositories
this->LoadRepositories();
std::list<SVNInfo>::iterator itbeg = this->Repositories.begin();
std::list<SVNInfo>::iterator itend = this->Repositories.end();
for (; itbeg != itend; itbeg++) {
......@@ -534,8 +530,13 @@ private:
}
};
void cmCTestSVN::LoadExternals()
void cmCTestSVN::LoadRepositories()
{
// Info for root repository
this->Repositories.clear();
this->Repositories.push_back(SVNInfo(""));
this->RootInfo = &(this->Repositories.back());
// Run "svn status" to get the list of external repositories
std::vector<const char*> svn_status;
svn_status.push_back("status");
......
......@@ -86,7 +86,7 @@ private:
SVNInfo* RootInfo;
std::string LoadInfo(SVNInfo& svninfo);
void LoadExternals();
void LoadRepositories();
void LoadModifications() CM_OVERRIDE;
void LoadRevisions() CM_OVERRIDE;
void LoadRevisions(SVNInfo& svninfo);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment