Release Notes

Public

8.0.16.3887: Jan 20 2020

New

Windows - Gluon: Added the embedded diff viewer in the "Checkin changes" view.

When you select a file in the "Checkin changes" view, the differences appear in a panel at the bottom of the window (or the file content, when it's an added / moved / deleted file).

These are the file formats supported by the viewers:

* Text diffs

* Semantic diffs for supported languages

* Image diffs

* Binary diffs (we display the file metadata).

See it in action:

New

Windows - Plastic: When there is no item selected in the pending changes view, we display the following improved empty state:

New

All platforms - Command line client: We changed the usage of the "cm update" and "cm partial update" commands to make clearer which arguments are optional (i.e. those that can be omitted).

New

All platforms - Command line client: Now you can just run "cm update" to update the full workspace. The workspace root path is no longer needed. You don't need lines like "cm update $wk_root_path" or "cm update ." anymore.

New

All platforms - Plastic: We improved how the merge operation solves multiple directory conflicts. Before these changes, any conflict that Plastic SCM couldn't apply caused the operation to stop. Now, the merge will continue solving any remaining conflicts.

Additionally, the operation retries all failed conflicts at the end. Directory conflict resolution might fail because it depends on another conflict resolution. That's why it makes sense to try again, so Plastic can smoothly apply it at the end.

Let's see a case.

Base content:

/PS4
/PS4/settings
/PS4/settings/Center.xml
/XboxOne
/XboxOne/settings
/XboxOne/settings/Center.xml
/Windows
/Windows/settings

Source changes:

mv /PS4/settings/Center.xml /Windows/settings/Center.xml

Destination changes:

mv /Xbox/settings/Center.xml /Windows/settings/Center.xml
rm /PS4

This merge has 2 conflicts:

* Move evil twin conflict: /Windows/settings/Center.xml

* Move/Deleted conflict: /Windows/settings/Center.xml

Before this improvement, first you needed to resolve the Move/Deleted conflict in order to choose source as resolution for both. Now you can resolve both conflicts at the same time.

New

All platforms - Server: We noticed that our trunkbot kept notifying that there is no CI system configured if you skipped that step during setup. This happened for every processed branch. That's annoying! You don't really need to know that something did *not* run if you explicitly configured it that way, right? Well, we fixed it!

Bug

All platforms - Plastic, Command line client: Some complex merge cases failed, showing errors like the following: The item '/bdwgc/cord/tests/de_cmds.h' cannot be restored because it had changes in it when it was deleted. Please undo the pending changes and repeat the merge without pending changes or with another conflict resolution.. This happened even though there were no pending changes before starting the merge. Now it's working.

This is a sample scenario that reproduced the issue:

Base contents:

/boehmgc
/boehmgc/cord
/boehmgc/cord/tests
/boehmgc/cord/tests/de_win.h
/boehmgc/cord/tests/de_cmds.h
/bdwgc

Source changes:

add /bdwgc/cord
add /bdwgc/cord/tests
mv /boehmgc/cord/tests/de_cmds.h /bdwgc/cord/tests/de_cmds.h
rm /boehmgc

Destination changes:

add /bdwgc/cord
add /bdwgc/cord/tests
mv /boehmgc/cord/tests/de_win.h /bdwgc/cord/tests/de_win.h
edit /bdwgc/cord/tests/de_win.h
mv /boehmgc/cord/tests/de_cmds.h  /bdwgc/cord/tests/de_cmds.h
rm /boehmgc

The error appeared when you chose to keep the source contributor for all directory conflicts.

Bug

All platforms - Plastic, Command line client: Some complex merge cases failed, showing errors like the following: The following merge operations cannot be applied: M "c:/tmp/SCM14918/boehmgc/cord/tests/middle.c" "c:/tmp/SCM14918/bdwgc/cord/tests/middle.c" - Error: "Item cannot be moved because it cannot be found."

We fixed that. This is an scenario that reproduced the issue:

Base content:

/boehmgc
/boehmgc/cord
/boehmgc/cord/tests
/boehmgc/cord/tests/de_win.h
/boehmgc/cord/tests/de_cmds.h
/boehmgc/cord/tests/middle.c
/bdwgc

Source changes:

add /bdwgc/cord
add /bdwgc/cord/tests
mv /boehmgc/cord/tests/de_cmds.h /bdwgc/cord/tests/de_cmds.h
mv /boehmgc/cord/tests/middle.c /bdwgc/cord/tests/middle.c
rm /boehmgc

Destination changes:

add /bdwgc/cord
add /bdwgc/cord/tests
mv /boehmgc/cord/tests/de_win.h /bdwgc/cord/tests/de_win.h
edit /bdwgc/cord/tests/de_win.h
mv /boehmgc/cord/tests/de_cmds.h /bdwgc/cord/tests/de_cmds.h
rm /boehmgc

The error appeared when you chose to keep the source contributor for all directory conflicts.

Bug

All platforms - Server: Some complex merge-to cases failed, showing errors like the following: Can't add an entry with the same name. Duplicated child [head.png]. Parent [art]. Now it's fixed.

Base content:

/art
/art/data
/art/data/face.png 

Source changes:

add /art/head.png
rm /art/data

Destination changes:

mv /art/data/face.png /art/head.png
edit /art/head.png
rm /art/data/UnityExtensions/Unity/Timeline

The error appeared during the merge-to resolution when you chose to keep the source contributor for all directory conflicts.

Bug

Windows - Plastic: After resizing the Plastic window, sometimes the diff scroll was unable to reach the textbox botton, due to a scrollbar metrics issue. Now it's fixed.