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.

Reply via email to