How does AccuRev handle diff'ing Unicode file formats? (UTF-16)



How does AccuRev handle diff'ing Unicode file formats? (UTF-16)


AccuRev can diff and merge files with types of TEXT and PTEXT.  If a file contains UTF-16 content, then changing the file's type to PTEXT will make working with it easier.  The reason is that when AccuRev delivers a file (via update or pop)  with type TEXT to a workspace, it will by default, change the line termination based on the OS (Linux, Mac OS-X, Solaris, Windows), which may have a undesirable impact on files with UTF-16 content.

accurev add -x -E ptext
(adds all external files , -x, as PTEXT)

Or, if the code is already in the depot files can be re-kept with the command:

accurev keep -m -E ptext
(keep all modified, -m, files as PTEXT

This would be the 'manual' way to control how XML elements get added to AccuRev's depot, but AccuRev also has a trigger that can be used to automatically add all files with an XML extention as PTEXT so the developers in Spain never need to worry about it.

The second part of the solution, is to use a Diff/Merge tool that supports UTF-16. AccuRev's Diff/Merge tool does not but we can easily integrate with Beyond Compare, TKDiff or Guiffy. I got it up and running on my machine using Guiffy 7.2 and the following command line through AccuRev's Diff/Merge tool preference setting:

c:\program files\guiffy\guiffy.exe -en1UTF16 -en2UTF16 %1% %2%

The major point is to get a Diff.Merge tool that supports UTF-16, such as Guiffy.

For more information, please contact AccuRev Support.

Comment List