diff --git a/Source/CTest/cmCTestUpdateHandler.cxx b/Source/CTest/cmCTestUpdateHandler.cxx index ffa9debc9..2a29920ff 100644 --- a/Source/CTest/cmCTestUpdateHandler.cxx +++ b/Source/CTest/cmCTestUpdateHandler.cxx @@ -204,6 +204,7 @@ int cmCTestUpdateHandler::ProcessHandler() int count = 0; int updateType = e_CVS; std::string::size_type cc, kk; + bool updateProducedError = false; // Get source dir @@ -390,6 +391,10 @@ int cmCTestUpdateHandler::ProcessHandler() ofs << goutput << std::endl;; } } + if ( !res || retVal ) + { + updateProducedError = true; + } os << "\n" << "GetTestModelString() << "" << std::endl; os << "\t" << start_time << "\n" << "\t" << m_CTest->MakeXMLSafe(command) - << "\n" - << "\t"; - if ( !res || retVal ) - { - os << "Update error: "; - os << m_CTest->MakeXMLSafe(goutput); - std::cerr << "Update with command: " << command << " failed" << std::endl; - } - os << "" << std::endl; + << "\n"; // Even though it failed, we may have some useful information. Try to continue... std::vector lines; @@ -806,8 +803,21 @@ int cmCTestUpdateHandler::ProcessHandler() os << "\t" << end_time << "\n" << "" << static_cast((cmSystemTools::GetTime() - elapsed_time_start)/6)/10.0 - << "" - << "" << std::endl; + << "\n" + << "\t"; + if ( num_modified > 0 || num_conflicting > 0 ) + { + os << "Update error: There are modified or conflicting files in the repository"; + std::cerr << " There are modified or conflicting files in the repository" << std::endl; + } + if ( !res || retVal ) + { + os << "Update error: "; + os << m_CTest->MakeXMLSafe(goutput); + std::cerr << " Update with command: " << command << " failed" << std::endl; + } + os << "" << std::endl; + os << "" << std::endl; if ( ofs ) {