All the scm commands, as implemented in the synergy scm-provider, assume a default (synergy-)task or try to set one. However, all commands also stop the synergy session after they finish. This is no problem, when each command is run by itself.
But, stopping the session also causes Synergy (at least our version 6.5 build 4096) to de-select the default task. This causes mvn release:prepare to fail, as the checked out and modified poms cannot be checked in because no default task (which is required by the check in command, as it is currently implemented) is set.
Also, when tagging a version (which is done in Synergy by creating a baseline) the so-called prep-project is not updated, which means that the changed poms are not included in the baseline.
I have attached a patch which fixes these issues for me and keeps the old behaviour largely unchanged so that people, who only use the provider to issue atomic scm-commands should encounter no changes EXCEPT one:
Now, when a tag is to be created, the provider will always try to update (reconfigure) the project as specified by the scm-url (in the pom, usually the prep-project). This means, that all changes since the last update will automatically be included in the tagged version. Most of the time this is what you want, but it may be an issue if you end up including untested code. The easiest "workaround" is to declare a general code-freeze when tagging a version.