PlasticSCM Cheat Sheet

We have previously used Perforce at work but for our new project we are trying out PlasticSCM.

I'm updating this document as a list of workarounds for problems that we have hit.

Pending changes but no pending changes

Sometimes I get the following error when trying to get latest:

Cannot perform the switch to the branch/label/changeset/shelve since there are pending changes. Please review the pending changes and retry the operation again.

It seems to be caused by unchanged files that are not recognised by the GUI, and has been around since 2016. There is no way to fix this from the GUI. After talking with support, they told me the following command, run it from cmd.exe

cm unco --all --silent

No local changes but local state does not match server

I got into a situation where the local state of my repo did not match the server. I confirmed this by cloning the repository again to a different place on my machine.

After talking with support there is no way to "validate" all local files and diff them against the server. The only way to fix this is to delete the repo and download it again from scratch.

Make workspace only match a subset of the repo

This is possible via the simplified Gluon interface, but not with the main GUI.

Allow manual merging from new PlasticX GUI

By default, the new PlasticX GUI will automatically merge files and not allow a "Manual merge" where you can review changes. Luckily you can change this behaviour under Merge Options > Manual conflict resolution.

Group changes into Changelists

If you want to have the same experience as Perforce, where you can add files to changelists and submit them bit by bit. Here's how to do it:

  • In Legacy PlasticSCM: Next to the "Checkin" and "Undo changes" buttons is "Options". Under "What to show" choose Group changes in "change lists".
  • In PlasticX: This feature is not supported in the new GUI as of Setember 2022.

Help, the files I selected to commit reset after "Get latest" and I committed files that I didn't want to

Yep, this happens with the legacy GUI. As far as I know, they are no longer updating it and so this bug will not be fixed. It is however fixed in the new "Plastic X" GUI.