Simplifying CM:
Expanding
Possibilities
Summer 2009

Release News

1.82.07 Update

1.82.07 provides a small number of updates for SnapshotCM, including changes to improve stability, and to improve wupdate -f performance in some configurations. It is not available for all platforms.

1.83 beta

The 1.83 beta release contains a number of changes focused around the workspace, but visible throughout the GUI and command-line clients.

Project Browser

The Project Browser now displays workspaces attached to a snapshot as children of those snapshots as shown here:

SSCurrent, SSCurrentIntegration and SSCurrentWork are workspaces associated with their parent snapshots. This integration allows direct workspace selection and opening, as well as renaming. In addition, you can change the snapshot associated with a workspace simply by dragging it to the new snapshot.

Workspace Browser

The key product-line feature of this release is support for mapping multiple snapshots into a single workspace. We plan a number of ways this can be done, but the first, and simplest, is to mount all or part of a snapshot onto another snapshot, all of which is mapped to a workspace. To access this feature, right click on a directory in the Workspace Browser's folders pane and select Add Mount. This will open the Mount Point Properties dialog, which has five items to fill out:

  1. Enter the mount point name, which will be created as a new folder.
  2. Next, you have the option of mounting a project or mounting a specific snapshot (a specific project version). If you mount a project, SnapshotCM will create a dynamic mount specification which will look for identically named snapshots in the mounted and mounting projects. Example: If snapshot /SnapshotCM/Current/Integration/Work mounts project /Monsoon, this would mount /Monsoon/Current/Integration/Work.
  3. If "Mount best matching" is selected and the exact match does not exist (ie, /Monsoon/Current/Integration/Work does not exist), then SnapshotCM will look for parent snapshots until a match is found.
  4. Select the project (or snapshot) to mount. If mounting a project, the snapshot which will be mounted on to your current snapshot is shown.
  5. Enter the name of the folder inside the selected snapshot you wish to mount. The default "/" mounts the entire snapshot.

Another key change is the elimination of the .cache.cm files in each directory. Instead, all cache information for a workspace is consolidated into a single .cache.SnapshotCM in the root of the workspace. In fact, on Windows, the file is hidden in an alternate data stream on the root directory (ie, it isn't visible in the file system). In addition, the cache info now includes an md5 checksum for each workspace file, eliminating the need to do background check out and compares to verify if a file really has changed.

Putting Mount Points to Use

Mount points allow one to have a single workspace view of your project and shared components. This merged view eliminates needing to keep multiple browsers open or to switch back and forth between projects, allows single operation workspace updates, check ins, etc. All file status information is directly accessible in a single view, etc.

There are two key ways to apply mount points, each with some benefits and costs:

  1. Mount shared projects (modules) into using projects. Ie, ProjectA would mount shared modules 1, 2 & 3, ProjectB would mount modules 1, 3 & 4, etc.
  2. Create new product projects, and mount both ProjectA and all needed modules into the product: /ProjectA, /Module1, /Module2, etc.
    Benefits: Modules all mounted together in adjacent locations. Modules can make assumptions about where they are mounted in a workspace.

One thing to keep in mind in either situation is where to create the mount points. If each mounting project mounts shared modules differently, they the build code for the modules can not make any assumptions about the workspace it is mounted in. However, if all mounts are always done in a consistent way, then assumptions can be made.

In a future newsletter, we will expand on putting mount points to use. Meanwhile, we hope this sneak peek piques your interest!

BETA SIGN UP

If you would like to participate in the product line beta and help us tune the feature set, please send us e-mail with the platform on which you want to try the beta. To participate in the beta, you will be expected to install and give weekly feedback until the end of August on the new features, including ideas for improving them, what you see as still missing, and to report any defects you find. The good news is that the beta does not require a server change: All changes necessary for the beta are on the client side only. However, you should be running 1.82.06 or 1.82.07 on your server.

If you have any further questions about this release, please contact us.

Mailing Address: True Blue Software Company - 5214 Keystone Creek Ct. - Fort Collins, CO 80528-8556 - USA
Telephone: 970-223-1200 - FAX: 970-223-9270
E-Mail: sales@truebluesoftware.com - support@truebluesoftware.com

© 2010 True Blue Software Company. All rights reserved.