views:

1525

answers:

6

So my project has a trunk where we make all development changes to. We also have a branch with slightly modified parameters to accommodate another department. We work in batches, and once we are done with a set of changes to the trunk, switch over to the branch and merge all appropriate revisions. This has been going on a while but I have noticed some odd behavior. If I open the revision graph and compare two head revisions (the trunk and the branch, I could also do this through the repo browser) it displays a list of all files that are different between the two. The problem is when I double-click on some files there are actually no textual differences in the files. There is not supposed to be any differences, but it shouldn't mark it as different then right? This is making it harder to audit both branches and keep track of differences because lots of files are appearing in the "changed files" dialog.

A few things I have noticed:

  • The revision numbers are different between the two files (as expected)

  • I tried reproducing this issue in a test repository by merging and then comparing the branches, but it worked fine (no differences)

  • I originally thought this might have something to do with differences between svn:mergeinfo properties but I am not so sure anymore.

Any help would be appreciated.

+2  A: 

A common culprit is line endings. Are some of your development machines windows and the others *nix-based? The different line endings, if not accounted for or translated, will cause files to not exactly match.

Keith Twombley
A: 

Well, what I'd recommend trying is using some other merging software. Not sure if Tortoise SVNCompare highlights whitespace changes as obviously as WinMerge does, for example.

Jon Limjap
A: 

I tried two different diff/merge software (winmerge and diffmerge) and the files are exactly the same. I just noticed that it works fine if I open up the repo browser, mark the trunk for comparison, and then compare it with the branch. It only shows the files that are actually different. However, when I launch it through the revision graph it gives me the same problem. The resultant dialogs are exactly the same except one has a large list of different files. Could this be a bug with svn/tortoisesvn or am I missing something else?

A: 

Check the exact filesize of two files that have no obvious differences. Also check the date-modified.

Liam
A: 

try the Clean up command, but read this first:

http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-cleanup.html

hmak
+2  A: 

I think you actually get all files which have been modified in the past, so even the content is the same, they are still shown as changed, because svn just looks in the history which files where touched and works from there. You can try to do a merge ignoring the ancestry (there is an option somewhere in tortoise) and have a look if the files show up there as well, afaik they should not.

Mauli