Skip to content
Snippets Groups Projects
Commit f10b2f72 authored by Brad King's avatar Brad King
Browse files

ctest_update: Capture failure of svn to load revisions and local mods

Issue: #16646
parent ef399f9b
No related branches found
No related tags found
No related merge requests found
......@@ -99,7 +99,9 @@ std::string cmCTestSVN::LoadInfo(SVNInfo& svninfo)
bool cmCTestSVN::NoteOldRevision()
{
this->LoadRepositories();
if (!this->LoadRepositories()) {
return false;
}
std::list<SVNInfo>::iterator itbeg = this->Repositories.begin();
std::list<SVNInfo>::iterator itend = this->Repositories.end();
......@@ -121,7 +123,9 @@ bool cmCTestSVN::NoteOldRevision()
bool cmCTestSVN::NoteNewRevision()
{
this->LoadRepositories();
if (!this->LoadRepositories()) {
return false;
}
std::list<SVNInfo>::iterator itbeg = this->Repositories.begin();
std::list<SVNInfo>::iterator itend = this->Repositories.end();
......@@ -374,17 +378,18 @@ private:
bool cmCTestSVN::LoadRevisions()
{
bool result = true;
// Get revisions for all the external repositories
std::list<SVNInfo>::iterator itbeg = this->Repositories.begin();
std::list<SVNInfo>::iterator itend = this->Repositories.end();
for (; itbeg != itend; itbeg++) {
SVNInfo& svninfo = *itbeg;
LoadRevisions(svninfo);
result = this->LoadRevisions(svninfo) && result;
}
return true;
return result;
}
void cmCTestSVN::LoadRevisions(SVNInfo& svninfo)
bool cmCTestSVN::LoadRevisions(SVNInfo& svninfo)
{
// We are interested in every revision included in the update.
std::string revs;
......@@ -403,7 +408,7 @@ void cmCTestSVN::LoadRevisions(SVNInfo& svninfo)
svn_log.push_back(svninfo.LocalPath.c_str());
LogParser out(this, "log-out> ", svninfo);
OutputLogger err(this->Log, "log-err> ");
this->RunSVNCommand(svn_log, &out, &err);
return this->RunSVNCommand(svn_log, &out, &err);
}
void cmCTestSVN::DoRevisionSVN(Revision const& revision,
......@@ -525,10 +530,10 @@ private:
}
};
void cmCTestSVN::LoadRepositories()
bool cmCTestSVN::LoadRepositories()
{
if (!this->Repositories.empty()) {
return;
return true;
}
// Info for root repository
......@@ -540,7 +545,7 @@ void cmCTestSVN::LoadRepositories()
svn_status.push_back("status");
ExternalParser out(this, "external-out> ");
OutputLogger err(this->Log, "external-err> ");
this->RunSVNCommand(svn_status, &out, &err);
return this->RunSVNCommand(svn_status, &out, &err);
}
std::string cmCTestSVN::SVNInfo::BuildLocalPath(std::string const& path) const
......
......@@ -77,10 +77,10 @@ private:
SVNInfo* RootInfo;
std::string LoadInfo(SVNInfo& svninfo);
void LoadRepositories();
bool LoadRepositories();
bool LoadModifications() CM_OVERRIDE;
bool LoadRevisions() CM_OVERRIDE;
void LoadRevisions(SVNInfo& svninfo);
bool LoadRevisions(SVNInfo& svninfo);
void GuessBase(SVNInfo& svninfo, std::vector<Change> const& changes);
......
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