Server: We improved the error message generated when a changeset is unexpectedly not found in the database. Rather than a generic message, we now return a message specific to the scenario, with appropriate advice for the user where applicable.
All platforms - Plastic: We all know you can easily merge a branch or changeset into your workspace from the branch and changeset context menu. Did you know you can also merge a branch or changeset into another branch, essentially performing a "workspace-less merge"?
That feature has been available for a while, but users couldn't find it because we hid it in an "Advanced" submenu. We've moved the "Merge from this changeset/branch to..." menu option up to the primary menu so make it easier to find.
All platforms - Gluon: Until now, cancelling an update worked as follows: if Plastic was downloading a block of files (the server sends small files together in a block to improve performance), the GUI would finish downloading said block, and then cancel the update. However, if instead of a block of small files Plastic was downloading a huge file, the operation would not cancel until said file finished downloading. For files in the megabytes range this is not that much of an issue, but for files of several gigabytes having to wait didn't make much sense. That's why we changed how cancelling an update works: the update will stop right away, and the big file in progress will be left incomplete - it will show up as changed in the pending changes / checkin views.
All platforms - Plastic: we have improved the error message you get if you try to delete a changeset that can't be deleted. There are a number of reasons why a changeset could not be deleted. Ideally we would tell you the specific reason in your case. At some point we will, but until then, we have updated the error message to tell you the possible causes.
For reference, a changeset cannot be deleted if:
It is the parent of another changeset
It is the source of a merge link
There exists a shelveset created from the changeset
There is a label on the changeset
All platforms - Plastic and Gluon: We improved the confirmation dialog you get when you Lock and Checkout an item and there aren't any existing lock rules that match its path. It allows you to choose between these kinds of rules:
* Extension rule ('*.db')
* Name rule ('Database.db')
* Directory path ('/Library/Assets')
* Full exact path ('/Library/Assets/Database.db')
* Or write your own!
Windows - Gluon: Great news! The Workspace explorer now includes auto-refresh!
Now, every time Gluon becomes the key window you'll notice that the Workspace Explorer view is automatically refreshed if there are new changes in the workspace since the last time it was refreshed.
Additionally, we improved the Status column to display whether a file or directory is ignored, not on disk or added.
All platforms - Mergetool: Sometimes automatic merges produced joint lines at the end of files. This happened if the base file didn't end with a newline character, comparison method was set to "Ignore EOL" and automatic merge was enabled (manual merges were OK).
For example, having this base file base.txt (no EOL at the end):
line1 line2 line3
This source file src.txt (ends with EOL):
line1 line2 line3 line4
and this destination file dst.txt (ends with EOL):
line1 line2 line2-1 line3
If you ran 'mergetool.exe -s=src.txt -d=dst.txt -b=base.txt -r=result.txt -i=eol -a', you got this in the result file result.txt (ends with EOL):
line1 line2 line2-1 line3line4
Windows - Plastic: there were a couple of issues in the 2D revision tree (when you browse the history of an item as a 2D tree). The first one was considering changesets that were the source of shelves with merge traceability (used in DevOps operations by the mergebots) as relevant. The second one was not discovering the destination of a merge involving an item if no new revisions of the item were originated in the destination branch of the merge. Both of them are fixed, so you shouldn't see "Unchanged" changesets without mergelinks.
Jenkins plugin: Windows agents couldn't update their workspaces if the master ran in Linux and the agent root directory was defined with forward slashes instead of windows-like backwards slashes. Fixed!
Windows installer: Installing Plastic using the client-only installer, and then upgrading to a cloud edition was causing the local server component not to be installed. Now it's fixed.