Index: cmCTestUpdateHandler.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/CTest/cmCTestUpdateHandler.cxx,v
retrieving revision 1.38
diff -u -r1.38 cmCTestUpdateHandler.cxx
--- cmCTestUpdateHandler.cxx	3 Aug 2007 20:42:47 -0000	1.38
+++ cmCTestUpdateHandler.cxx	23 Oct 2007 18:12:50 -0000
@@ -508,16 +508,18 @@
       case cmCTestUpdateHandler::e_SVN:
           {
           cmsys::RegularExpression current_revision_regex(
-            "Revision: ([0-9]+)");
+            "(R[^ ]vision de la derni[^ ]re modification |Revision): ([0-9]+)");
           if ( current_revision_regex.find(goutput.c_str()) )
             {
             std::string currentRevisionString
-              = current_revision_regex.match(1);
+              = current_revision_regex.match(2);
             svn_current_revision = atoi(currentRevisionString.c_str());
             cmCTestLog(this->CTest, HANDLER_OUTPUT,
               "   Old revision of repository is: " << svn_current_revision
-              << std::endl);
+              << std::endl << std::flush);
             }
+          if( svn_current_revision <= 0 )
+            cmCTestLog( this->CTest, ERROR_MESSAGE, "Cannot match current revision regex: " << svn_current_revision << std::endl << std::flush );
           }
         break;
         }
@@ -632,9 +634,9 @@
 
   // Subversion style regular expressions
   cmsys::RegularExpression svn_status_line_regex(
-    "^ *([0-9]+)  *([0-9]+)  *([^ ]+)  *([^ ][^\t\r\n]*)[ \t\r\n]*$");
+    "[^ ] *([0-9]+)  *([0-9]+)  *([^ ]+)  *([^ ][^\t\r\n]*)[ \t\r\n]*$");
   cmsys::RegularExpression svn_latest_revision_regex(
-    "(Updated to|At) revision ([0-9]+)\\.");
+    "(Updated to|At|[^ ] la) r[^ ]vision ([0-9]+)\\.");
 
   cmsys::RegularExpression file_removed_line(
     "cvs update: `(.*)' is no longer in the repository");
@@ -652,7 +654,7 @@
     for ( cc= 0; cc < lines.size(); cc ++ )
       {
       const char* line = lines[cc].c_str();
-      if ( svn_latest_revision_regex.find(line) )
+      if( svn_latest_revision_regex.find(line) )
         {
         svn_latest_revision = atoi(
           svn_latest_revision_regex.match(2).c_str());
@@ -701,7 +703,7 @@
         {
         continue;
         }
-      if ( mod != 'M' && mod != 'C' && mod != 'G' )
+      if ( mod == 'M' || mod == 'C' || mod == 'G' )
         {
         count ++;
         modifiedOrConflict = true;
