Merge topic 'fix-ctest-segfault'
b35311ca CTestSVN: Fix segfault when CTEST_UPDATE_VERSION_ONLY is enabled
This commit is contained in:
commit
f51f4ee9a3
@ -108,13 +108,8 @@ std::string cmCTestSVN::LoadInfo(SVNInfo& svninfo)
|
|||||||
|
|
||||||
void cmCTestSVN::NoteOldRevision()
|
void cmCTestSVN::NoteOldRevision()
|
||||||
{
|
{
|
||||||
// Info for root repository
|
this->LoadRepositories();
|
||||||
this->Repositories.push_back(SVNInfo(""));
|
|
||||||
this->RootInfo = &(this->Repositories.back());
|
|
||||||
// Info for the external repositories
|
|
||||||
this->LoadExternals();
|
|
||||||
|
|
||||||
// Get info for all the repositories
|
|
||||||
std::list<SVNInfo>::iterator itbeg = this->Repositories.begin();
|
std::list<SVNInfo>::iterator itbeg = this->Repositories.begin();
|
||||||
std::list<SVNInfo>::iterator itend = this->Repositories.end();
|
std::list<SVNInfo>::iterator itend = this->Repositories.end();
|
||||||
for (; itbeg != itend; itbeg++) {
|
for (; itbeg != itend; itbeg++) {
|
||||||
@ -134,7 +129,8 @@ void cmCTestSVN::NoteOldRevision()
|
|||||||
|
|
||||||
void cmCTestSVN::NoteNewRevision()
|
void cmCTestSVN::NoteNewRevision()
|
||||||
{
|
{
|
||||||
// Get info for the external repositories
|
this->LoadRepositories();
|
||||||
|
|
||||||
std::list<SVNInfo>::iterator itbeg = this->Repositories.begin();
|
std::list<SVNInfo>::iterator itbeg = this->Repositories.begin();
|
||||||
std::list<SVNInfo>::iterator itend = this->Repositories.end();
|
std::list<SVNInfo>::iterator itend = this->Repositories.end();
|
||||||
for (; itbeg != itend; itbeg++) {
|
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
|
// Run "svn status" to get the list of external repositories
|
||||||
std::vector<const char*> svn_status;
|
std::vector<const char*> svn_status;
|
||||||
svn_status.push_back("status");
|
svn_status.push_back("status");
|
||||||
|
@ -86,7 +86,7 @@ private:
|
|||||||
SVNInfo* RootInfo;
|
SVNInfo* RootInfo;
|
||||||
|
|
||||||
std::string LoadInfo(SVNInfo& svninfo);
|
std::string LoadInfo(SVNInfo& svninfo);
|
||||||
void LoadExternals();
|
void LoadRepositories();
|
||||||
void LoadModifications() CM_OVERRIDE;
|
void LoadModifications() CM_OVERRIDE;
|
||||||
void LoadRevisions() CM_OVERRIDE;
|
void LoadRevisions() CM_OVERRIDE;
|
||||||
void LoadRevisions(SVNInfo& svninfo);
|
void LoadRevisions(SVNInfo& svninfo);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user