You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by "Albertsen, Ketil" <ke...@nordicsemi.no> on 2011/10/03 11:29:44 UTC

Renamed/moved files diffing

We are using the CodeCollaborator system from SmartBear for code reviews. This system uses the command: svn -r "firstversion:lastversion" svnpath
to generate a diff list used indicate which lines were modified for the code revision in question.

Problem is with files that have been moved/renamed in the repository: The file under the old name is reported as deleted, under the new name as all new lines. CodeCollaborator cannot report which lines are changed/unchanged.

It turns out that this is due to SVN, which In fact creates a diff file reporting exactly what CodeCollaborator displays. Except that there is a (cumbersome!) workaround: If the diff command explicitly names one single file down to the last character of the file extension, then  SVN will generate a proper diff file. When you move a large tree, the number of files that must be handled one by one is large, and the manual work is significant. The reviewer will see the files as completely spearate resources, not as an element in a directory structure.

Does anyone know of a way to force svn diff to create a proper diff for moved files even when diffing an entire directory, similar to what it does when diffing a single file?

Or, as an alternative: Make CodeCollaborator automatically do the diffing in a file by file manner and present them in a directory structure

(Obviously, I could ask th latter question in a CodeCollaborator forum, but I assume that SVN + CodeCollaborator users who read mailing lists are here as well... And the real problem is with SVN, not CodeCollaborator!)

According to our IT systems guy, our SVN server runs version 1.6.6, r40053.