No check-out workflow

Checking code out is optional

If you are coming from other version control systems like Subversion or CVS, you may find it strange that you need to check out an item before modifying it.

Your first move to edit a file is, well, editing the file in your favorite editor. Plastic, on the other hand, marks the files as read-only by default, so you need to check them out before editing.

While checking out the items before editing them has advantages (like automatic shelving when switching branches), it's perfectly possible to work in SVN mode, where the items in the workspace are not read-only and you don't need to check out files. Instead, you just commit (check in) your changes as needed.

To switch to this mode, you need to change one option under Preferences. Under the Other options tab, uncheck Update and Checkin operations set files as read-only:

Changing the "Set files as read-only" preference

Now, if you have an existing workspace, unset the read only bit from all the items. Going forward, this won't be set, so this only needs to be done once.

Checking in your changes in SVN mode

To check in your changes in this mode go to the Pending changes view.

Pending changes view with selected "find changed" option

Your changed items are displayed in the list and you can check them in as usual.

From the command line, you can achieve the same result with:

cm status --nostatus --changed --short | cm ci - -c="comment" --applychanged

Visual Studio integration

Plastic SCM provides 2 types of integration with Visual Studio: SCC and a native package. The native package is the preferred integration for Visual Studio 2005 or higher, since it provides the same functionality as the legacy SCC plugin (check out / check in / update) and much more inside the Visual Studio environment (all the Plastic SCM views like the Branch Explorer, changesets and others).

The native package behaves exactly the same in both read-only and non-read-only modes, so it's up to the user to choose which one to use. However, the SCC plugin requires the read-only mode, so you should not follow the instructions in this guide if you plan to use the SCC integration with Visual Studio.

This is a limitation in the Visual Studio SCC implementation, since it relies on the read-only flag to tell if an item has been checked out.

Conclusion

With this method, you can work just like you used to with SVN or CVS.

This way of working is much more efficient than performing a check-out of the whole workspace and then unchecking out the non-modified items, since the uncheck-out operation has some overhead.