Sfoglia il codice sorgente

BUG: set LC_ALL to C, so message from svn are not translated, which can lead
to problems (since the output is parsed, which fails then)

Brad, Bill, can you think of any reasons this change might create problems ?

Alex

Alexander Neundorf 18 anni fa
parent
commit
4bcce925ea
1 ha cambiato i file con 8 aggiunte e 0 eliminazioni
  1. 8 0
      Modules/FindSubversion.cmake

+ 8 - 0
Modules/FindSubversion.cmake

@@ -52,6 +52,11 @@
 SET(Subversion_FOUND FALSE)
 SET(Subversion_FOUND FALSE)
 SET(Subversion_SVN_FOUND FALSE)
 SET(Subversion_SVN_FOUND FALSE)
 
 
+# the subversion commands should be executed with the C locale, otherwise
+# the message (which are parsed) may be translated, Alex
+SET(_Subversion_SAVED_LC_ALL "$ENV{LC_ALL}" )
+SET(ENV{LC_ALL} C)
+
 FIND_PROGRAM(Subversion_SVN_EXECUTABLE svn
 FIND_PROGRAM(Subversion_SVN_EXECUTABLE svn
   DOC "subversion command line client")
   DOC "subversion command line client")
 MARK_AS_ADVANCED(Subversion_SVN_EXECUTABLE)
 MARK_AS_ADVANCED(Subversion_SVN_EXECUTABLE)
@@ -105,6 +110,9 @@ IF(Subversion_SVN_EXECUTABLE)
 
 
 ENDIF(Subversion_SVN_EXECUTABLE)
 ENDIF(Subversion_SVN_EXECUTABLE)
 
 
+# restore the previous LC_ALL
+SET(ENV{LC_ALL} ${_Subversion_SAVED_LC_ALL})
+
 IF(NOT Subversion_FOUND)
 IF(NOT Subversion_FOUND)
   IF(NOT Subversion_FIND_QUIETLY)
   IF(NOT Subversion_FIND_QUIETLY)
     MESSAGE(STATUS "Subversion was not found.")
     MESSAGE(STATUS "Subversion was not found.")