Release Notes

Public

11.0.16.7726: Jan 19 2023

New

All platforms - Command-line client: Flag to print just the root spec

Now the shelve creation is able to print just the shelveset spec of the root repository, skipping other "xlinked" shelvesets created this way. This is useful for automation purposes.

Example:

$>cm shelve --all --summaryformat
sh:64@tools_repo@plastic_server:8087

New

All platforms - DevOps: Trunkbot now also sends trunk branch in a property

The trunkbot now also sends the configured trunk branch (usually the /main branch) to the underlying Continuous Integration system in a property named "PLASTICSCM_MERGEBOT_TRUNK_NAME".

New

Windows - Gluon: Removed "Switch to Legacy GUI" menu option

This release marks the end of support for the legacy Gluon GUI for Windows.

We removed the "Switch to Legacy GUI" menu option in Gluon, and soon the executable won't be included in the install package.

New

All platforms - Plastic: Unified the style of the color pickers

We unified the style of all color pickers that are shown in the application. This is how they look now:

New

Linux - Plastic: Allow changing the editor font.

For Windows and macOS you could change the font of the diff/merge:

Now you can also do it on Linux

New

All platforms - Plastic: Unified the look of the overlapped views

Sometimes when opening a view that requires all the space in the window, we open it on top of the current view. Overlapped views show a header at the top, that you can also use to close the view go back to the previous one.

We unified the style of these headers, and now all overlapped views in the application have the same look.

New

MacOS - Plastic: Update default merge tool

We updated the merge tool that is used by default to solve file merge conflicts. Now, unless you change it manually, the name of the new cross-platform merge tool will be used, instead of the legacy platform-specific one

New

Command-line client: Merge command improved for automation

Several options have been added, mirroring the update command: --xml and --encoding:

$ cm merge /main/task1001229 --xml --encoding=utf-8 2>nul
<?xml version="1.0" encoding="ibm850"?>
<Merge>
  <Added>
    <MergeItem>
      <ItemType>Xlink</ItemType>
      <Path>/Assets</Path>
      <Spec>
        <Server>localhost:8084</Server>
        <Name>ArtAssets</Name>
      </Spec>
    </MergeItem>
    <MergeItem>
      <ItemType>Dir</ItemType>
      <Path>/Source</Path>
      <User>tim</User>
      <Date>2022-12-15T11:46:46+01:00</Date>
    </MergeItem>
    <MergeItem>
      <ItemType>File</ItemType>
      <Path>/README.md</Path>
      <Size>6</Size>
      <User>tim</User>
      <Date>2022-12-15T11:46:46+01:00</Date>
    </MergeItem>
    <MergeItem>
      <ItemType>File</ItemType>
      <Path>/Assets/guy.brush</Path>
      <Size>17</Size>
      <User>tim</User>
      <Date>2022-12-15T11:46:46+01:00</Date>
    </MergeItem>
  </Added>
  <Deleted>
    <MergeItem>
      <ItemType>File</ItemType>
      <Path>/README.txt</Path>
      <Size>9</Size>
      <User>tim</User>
      <Date>2022-12-15T11:46:46+01:00</Date>
    </MergeItem>
  </Deleted>
  <Changed>
    <MergeItem>
      <ItemType>File</ItemType>
      <Path>/LICENSE.txt</Path>
      <Size>39</Size>
      <User>tim</User>
      <Date>2022-12-15T11:46:46+01:00</Date>
    </MergeItem>
  </Changed>
  <Moved>
    <MovedMergeItem>
      <ItemType>File</ItemType>
      <SrcPath>/LICENSE.txt</SrcPath>
      <DstPath>/LICENSE</DstPath>
      <Size>39</Size>
      <User>tim</User>
      <Date>2022-12-15T11:46:46+01:00</Date>
    </MovedMergeItem>
  <PermissionsChanged>
    <MergeItem>
      <ItemType>File</ItemType>
      <Path>/Assets/guy.brush</Path>
      <Size>20</Size>
      <User>tim</User>
      <Date>2022-12-15T10:46:46+01:00</Date>
    </MergeItem>
  </PermissionsChanged>
  </Moved>
  <Warnings />
  <DirConflicts>
    <ConflictedItem>
      <ConflictItemType>DIV_MV</ConflictItemType>
      <SourceDiff>
        <ChangeType>Moved</ChangeType>
        <ItemType>File</ItemType>
        <SrcPath>/PLAN</SrcPath>
        <DstPath>/JC_PLAN</DstPath>
      </Source>
      <DestinationDiff>
        <ChangeType>Moved</ChangeType>
        <ItemType>File</ItemType>
        <SrcPath>/PLAN</SrcPath>
        <DstPath>/RJ_PLAN</DstPath>
      </Destination>
    </ConflictedItem>
  </Conflicts>
</Merge>

See --usage for details:

> cm merge --usage

New

All Platforms - Plastic: Merge files from command line with Binary Merge

A quick way to get started is to run Plastic with a single argument:

* For Windows:

plastic binmerge

* For MacOS:

plasticgui binmerge

* For Linux:

plasticgui binmerge

For example, To merge two files with a common base file:

[plasticgui|plastic] binmerge -s=fileA.txt -d=fileB.txt -b=base.txt

In order to determine if a merge was successful, Plastic will return 0 or 1 as the application exit code. 0 means a merge was successfully performed and the result file has been save, 1 means that a merge has been aborted or not saved.

Bug

All platforms - Plastic: Corrected Merge View title when applying shelveset

When applying a shelveset the view title is now "Apply shelveset sh:<shelveset id>".

Bug

Windows - Gluon: Legacy merge tool opening for shelveset conflicts

On Windows Gluon, when trying to apply a shelveset that is in conflict with the local changes, we were opening the legacy merge tool (native to Windows). We fixed this issue, and now the new cross-platform merge tool is used instead