If a changeset is deleted, switch to the parent changeset and KEEP the changes in the "pending changes"
When a changeset is removed the workspace is switching to the parent changeset and all changes get lost.
I think it is better to keep all changes in the "pending changes", so you do not lose any changes and you can add some more changes.
It often happens to me that I forget some small changes, so I have to check in again producing a lot of unnecessary changesets.
An alternative feature that would solve the same problem (and might also be helpful elswehere) is to be able to extract the changes of a changeset to a shelf.
So before deleting a changeset, you could create a shelf for all its changes. Then delete the changeset (which resets you to its parent, if it was your home), and then simply apply the shelf.
I just came across this post now after needing the above functionality. Has it been implemented and I've missed it, or can one still not "undo a check-in" ?
Mikael Kalms commented
Seconded. I performed an incorrect check-in just now, and ended up on this page when I was looking for a way to undo the check-in and split it into multiple smaller check-ins.
Being able to undo the results that clicking the Check-In button produced (a new changeset created on a branch) is effectively one way of rewriting check-ins.
I suspect that this gets a lot more complicated when considering A) can this be done against Plastic Cloud as well as a local server? B) what about if the changeset already has been replicated? and C) what about information that was not stored with the changeset, like, which was the list of files that were locked, but got unlocked by the Check-In operation? and I do not have good ideas on a design that handles those problem areas. (For example, Git docs say 'don't rewrite history for changesets that already have been replicated' but it has no warnings / no protection for this.)
David O'Donoghue commented
I accidentally forgot to put in a checkin comment when I checked in a new branch, I also forgot to checkin "added" files.
Now I have one changeset that has no comment and another that just checks in needed files. I need to delete both of these (without updating my workspace), then check them into a new branch.
Perhaps this request could be better described as "Undo Check-In".
3 votest from me.
...small correction: when I delete the "home" changeset then I get the error...
I'm currently using version 220.127.116.113. When I delete a changeset I get an error:
"Some items were not correctly updated. ..."
"Could not get revision information for <my workspace dir>. You may be referencing a non-existing item/branch/label. ..."
When I close the message dialog, I do not have a "home" changeset any more.
can you please tell me which Plastic SCM version are you using?
If I'm working in the changeset number 18 and I delete it my workspace will be automatically updated to the 17. Of course the changes done in the 18th will be lost.
If you want to preserve the changes done in the 18th we can think about it and it would be another idea but first lets make sure that the workspace is at least updating you to the parent changeset.
Yes that's right. And the "Home" cs should then be 17.
When I now remove a changaset there is no "Home" any more. I have to switch manually to the parent cs.
We need more information about this idea.
1) I can't reproduce the behavior about the fact you said about "and all changes get lost". Can you please give us more info?
2) "Switching to the parent changeset..." I guess that you are switching with changed items (blue tick) and not with checked out items right?
Correct me if I'm wrong but is what you want the following?
You have the csets 15, 16, 17 and 18.
You want to be able to remove the cset 18 and preserve the changes done in that changesets inside the Pending changes view?
YES, YES, YES! maybe just ask whether to keep the changes or not...
When deleting a changeset there could be an option like "Move changes to pending changes?".