I'm asked regularly to merge XSD and WSDL files from an analysts branch on SVN. Yesterday I met with a very strange problem. I'll go over the steps, maybe someone can reproduce the issue.
1. Merge the xsd analysts branch with the trunk, using 'Subversion Working Copies Information', 'Merge from...', 'Branch....'. I pressed cancel when the commit screen popped up in order to have an SVN changelist 'merge from <branch>'. Then move one file to another changelist (is required for a different job).
2. After a little while part of the branch in my changelist is committed, one file kept seperately is not. Meanwhile new changes on the BRANCH have been done to the file I kept seperate. And I'm asked to do a new analysts xsd merge.
3. Same scenario as point 1, but one file got merged by IntelliJ smart merge, namely the file I kept locally.
4. An analyst tells me the changes he's made to the branch are not ok, so I revert the whole thing. This includes the file I used to keep in a seperate changelist.
5. Same scenario as point 1 BUT, the changes that were merged by IntelliJ are gone. Newer changes to that file are there, but the changes that were merged by IntelliJ are somehow 'forgotten'. I assume IntelliJ still wrongly thinks that those changes are already on my local project, but that's just speculation.
Note: If I compare that file with the branch using 'SVN compare with branch' then the missing changes are registered.
This seems a very nasty bug, I would have broken the build on production day if I hadn't been paying attention closely and if I hadn't read that file before the ordeal.