MantisBT - CMake
View Issue Details
0003731CMakeCTestpublic2006-09-08 11:442009-03-16 09:36
Nikita Borodikhin 
Brad King 
lowminoralways
closedfixed 
 
 
0003731: CTest incorrectly escpes SVN log while building Update.xml
CTest escapes each non-ASCII character (cmCTest.cxx, lines 153-154) even when building Update.xml from Subversion output.
Meanwhile Subversion log is got using --xml option (Source/CTest/cmCTestUpdateHandler.cxx, line 721 in rev. 1.35).

So each non-ASCII symbol gets converted to several escaped integers like <-48><-96> for symbol <U0420> /xd0/xa0 (CYRILLIC CAPITAL LETTER ER).

It would be at least nice to get UTF-8 text non-escaped except specials like '<', '&' or '>'.
No tags attached.
related to 0007541new  CDash support modern version-control tools 
related to 0009944closed David Cole CMake Wrong umlaut handling for Update.xml 
Issue History
2007-08-31 11:28Alex NeundorfAssigned ToSystem Admin => David Cole
2007-10-22 11:39Félix C. MorencyNote Added: 0009523
2007-10-23 01:49Nikita BorodikhinNote Added: 0009528
2007-10-23 09:35Félix C. MorencyNote Added: 0009531
2007-10-23 10:50Nikita BorodikhinNote Added: 0009533
2007-10-23 14:25Félix C. MorencyNote Added: 0009534
2009-03-05 10:38Brad KingAssigned ToDavid Cole => Brad King
2009-03-05 10:40Brad KingRelationship addedrelated to 0007541
2009-03-05 10:43Brad KingNote Added: 0015563
2009-03-16 09:36Brad KingNote Added: 0015692
2009-03-16 09:36Brad KingStatusassigned => closed
2009-03-16 09:36Brad KingResolutionopen => fixed
2010-12-14 16:35David ColeRelationship addedrelated to 0009944

Notes
(0005185)
Bill Hoffman   
2006-10-04 15:20   
IS this fixed?
(0007721)
Nikita Borodikhin   
2007-05-24 07:57   
> Is this fixed?
No. CMake 2.4.6 still use MakeXMLSafe even for 'svn update --xml' running result.
(0009523)
Félix C. Morency   
2007-10-22 11:39   
The "svn up --xml" command returns an error here: Subcommand 'update' doesn't accept option '--xml'. I used svn v1.4.5.

Is this error related to the error I have when trying to update my sources: "Error parsing XML in stream at line 1: no element found".

Do you have any plan on fixing this ?
(0009528)
Nikita Borodikhin   
2007-10-23 01:49   
Sorry, I've mistyped command example in post#77221.
There should be 'svn log --xml' of course, because the update text is constucted from log messages.
(0009531)
Félix C. Morency   
2007-10-23 09:35   
Do you have any concrete example about using this ? When I add "log --xml" to my "SVNCOMMAND:FILEPATH=c:/Program Files/Subversion/bin/svn.exe" it doesn't work either.
(0009533)
Nikita Borodikhin   
2007-10-23 10:50   
> Do you have any concrete example about using this ?
We use some sort of massive build infrastructure where each build machine runs several CTest tasks (NightlyStart ... NightlySubmit) and sends report to Dart (Dart1) dashboard. One of build stage is 'NightlyUpdate' which creates 'Update.xml' file. Dart then allows me to see what files was changed and what commit comment was for each change.

While building Update.xml CTest first gets commit log from version system. In case of Subversion this log already has XML format (cmCTestUpdateHandler::ProcessHandler):
            logCommandStream << updateCommand << " log -r "
              << svn_current_revision << ":" << svn_latest_revision
              << " --xml \"" << file << "\"";
Then XML log got from subversion is obfucated by cmCTest::MakeXMLSafe so we can never see cyrillic letters on Dart update log.

The problem is in obfuscation (making XML safe) step.
(0009534)
Félix C. Morency   
2007-10-23 14:25   
Thank you. I submited a patch to the mailing list so that CTest can handle french SVN output. This is why it wasn't working.
(0015563)
Brad King   
2009-03-05 10:43   
Recently I re-wrote both SVN update parsing and XML escaping. See issue 0007541. The new XML escaping preserves all valid XML characters. It uses the &#xNN; syntax for characters outside the 0x9,0xA,0xD,0x20-0x7f set, and a <0xNN> syntax for invalid characters like 0x01. When parsed, the original byte sequence is reproduced except for invalid bytes.

Can you please try CMake from CVS HEAD?
(0015692)
Brad King   
2009-03-16 09:36   
I'm assuming this bug is fixed, as stated in my previous comment. Closing.