Add an option to prevent changing branches when you have added (private) files which are marked as pending adds.
This would prevent you from adding a file and forgetting to add it to source control before changing branch. This idea here is that you would set Plastic up to discover private files so you can see which files need adding. Any solution files or built data you would put in separate folders which aren't under source control and thus aren't detected by Plastic. This approach prevents you from forgetting to add files, i.e it'll build for you locally but not for others.
Problem is that "private files" are not restricted to files you want to add. What happens with objs, exes, and all the intermediate compilation results?
If you have a perfectly configured workspace with everything private being ignored except what really needs to be added, then this solution will work, but otherwise it won't.
It can be a way to enforce that you don't leave files behind, and to force users to correctly setup their "ignored.conf", or Plastic will never let them switch branch...
From that angle, it looks doable and good :)
Are we on the same page?
Just to clarify, currently if you add a new file it automatically gets marked as a pending add but is not properly marked for add unless you do that manually.