PlasticSCM - Disintegrate a task from the release
So you have been working on different tasks, each one in its own branch, you are going to release again, but there is something wrong with the
from the previous code integration, you want to drop this task because of a new requirement, so it is not needed anymore
, and what a difficult task it is! What are you going to do now? How can you drop all these modifications? Which were those modifications?
Subtractive merge to the rescue
There is an SCM operation called “subtractive merge” that works exactly opposed to the normal merge, because it calculates what to drop and if not sure make you decide, but showing all the needed information to do it.
Let’s disintegrate! :)
First, we select what to disintegrate, in this case Plastic needs an open-close interval selection (as in math, “open” is the point selected but not included, and “close” is the point selected and included)
Now Plastic have detected this files:
We “Process all merges”:
This can’t be true! All automatic in this case? No manual intervention?
Let’s see what Branch Explorer shows about this operation:
Now, we need to verify this on the Pending Changes view:
Ok, the files are those, but we need visual confirmation of the changes in the code, we press the shortcut CTRL+D on the sc2 file, or use the right-click menu:
Ok, so far, so good, it have a good looking, but we need to regenerate the binary from the disintegrated sc2 file, and see for ourselves the result in VFP just to be sure:
Well, yes, this is the original form before the modifications, so we can check it in now and go to Branch Explorer:
Finally, we have disintegrated one task in only one subtractive-merge operation.
Of course, this was an easy case just to show how it works, and in real life with lots of changes you surely must resolve manual conflicts, but they will be shown just as a normal merge with all the information you need to do the task.
Index of contents:
Using FoxBin2Prg with PlasticSCM
PlasticSCM - Download and configuration
PlasticSCM – Adding an existing VFP project
PlasticSCM – Working with branch per task
PlasticSCM – Working
with branches with a second developer on same task
PlasticSCM - Desintegrate a task from the release
PlasticSCM - Synchronizing with a Git Repository
PlasticSCM – What’s next