Rename support on mergeI'm going to go back to the basics today and describe how Plastic handles renames during merge with two different cases:
As simple as it might sound, renaming during merging is one of the points where most of the SCMs break... And the good news is that Plastic simply excels there.
Handling renames during merge
The scenario is very simple:
The expected result is: getting agent.cs renamed and including the changes from the two branches.
This is what Plastic does, but systems like Subversion dramatically fail: SVN will create two files as result and won't directly merge the changes...
The following screencast shows Plastic in action dealing with this example:
The scenario is the following:
Plastic is able to detect the double rename and come up with a solution: choose one of the names or propose a new one. But Plastic won't end up creating two files and leaving you alone to handle further merging (changes on the files) yourself.
Interestingly this is exactly what Mercurial does: it will create two files with the two names and warn you to solve the situation somehow.
Check it in action here: