At my workplace, we use TortoiseSVN (currently on version 1.9.6) to do extensive branching and merging. Every once in a while a file will show up in the log as modified as part of a merge commit:
>svn log -r 86212 --verbose
------------------------------------------------------------------------
r86212 | user1 | 2018-05-15 16:18:09 -0400 (Tue, 15 May 2018) | 1 line
Changed paths:
M /path/to/file/MySpecialFile.pas
M /path/to/file/ANormalFile.pas
but there are no differences at all (that I can find) in MySpecialFile.pas. The file properties have not been changed, no whitespace differences, and we use Windows OSs exclusively, so there is no reason for the Unix/Windows end-of-line mismatch. In fact, if I use the "Diff with previous version" option, it skips right over the revision in question, and using the SVN diff does the same:
>svn diff MySpecialFile.pas -r HEAD:PREV
Index: MySpecialFile.pas
===================================================================
--- MySpecialFile.pas (.../path/to/file/MySpecialFile.pas) (revision 86251)
+++ MySpecialFile.pas (.../path/to/file/MySpecialFile.pas) (revision 83226)
@@ -140,11 +140,11 @@
So the file is marked as modified in r86212, but when I tell it to diff from HEAD to PREV, it compares r86251 to r83226.
Any idea what is causing this and how to prevent it in the future? It does not cause any problems from a technical perspective, but each time it happens I am asked to review the SVN logs to ensure there are no unintended changes making it into the code base.
EDIT: I also noticed that the file appears in gray when looking at the TortoiseSVN Log screen where all other modified files are listed in blue, added files in purple, deleted files in red, etc. These relate to Settings > General > Colors, but mine are the default, and I do not have any gray. The official documentation does not list anything about overriding colors in special circumstances.