True Blue Software
Product InfoCustomer TestimonialsConcept and Reference DocumentsLicensing Terms and PricingCompany Location, Mission and VisionAnnouncements & NewslettersHome
SnapshotCM News
Formerly known as True Blue Software News

February, 2003

Welcome new subscribers. If you know of anyone who could benefit from this newsletter, please pass it along.

Topic Index:

Merge Tool Options in SnapshotCM

SnapshotCM now integrates several popular merge tools for file content merge resolution. Beginning with the 1.52 release, SnapshotCM gives a user a choice of merge tools. A batch mode merge using diff3 and the open source TkDiff are built it, and many third-party solutions can be integrated using the external merge configuration support. In the process of testing the integration code, I evaluated three leading merge tools and thought I'd share what I've learned. If I've missed your favorite tool, please let me know so I can both verify its operation within SnapshotCM, and keep myself abreast of what's available and what you all are using.

For purposes of evaluation, I've limited myself to looking at tools that perform two-way merging with the help of a common-ancestor file (sometimes called 3-way merging). I explicitly ignored "diff" tools that do not use a common ancestor file. I also only evaluated file merge features of the tools. Some of the tools can compare two hierarchies of files and more. But that is outside the scope of my evaluation.

All the tools I looked at provide advantages over the diff3 and TkDiff solutions built into SnapshotCM. All evaluated tools display merge tasks visually, recommend and optionally apply changes based on the common-ancestor, and support in-place editing to resolve conflict problems.

My primary efforts focused on three tools: Araxis Merge Professional, Guiffy SureMerge and Prescient MergeRight. Additional tools for later evaluation include

Araxis Merge 2001 Professional, shown at left, displays three windows side by side, with the common ancestor in the middle. The branch revisions are displayed on the left and right. Differences are shown in-line in color with lines drawn from the difference to where that difference would be inserted (or where it was deleted) from neighboring revisions. Differences can be copied between the three displayed revisions with the click of a button.

Araxis Merge is a Windows-only solution. It starts quickly, reuses its main window, and remembers its geometry between invocations. The side by side display is intuitive enough in simple situations, but gets a bit confusing in complex situations. In particular, it generates confusing displays when identical changes already exist in both leaf revisions, as can occur with repeated merges.

Araxis merge window
Araxis Merge Professional

Prescient MergeRight 2000, shown at left, displays the ancestor and branch revisions together in a concordance view. Regions common to all three revisions are displayed once in a collapsible area spanning the width of the window, while regions added or removed from either branch are shown on the left or right half of the window and color coded according to recommendation. Manual merge selection is as easy as pressing a button.

MergeRight 2000 is a multi-platform Java based solution. As such, its start up performance isn't particularly fast. However, it is the most intuitive display of the merge problem I've used, which should more than make up for the start up time delays. MergeRight 2000 seems more like a prototype than a polished product, with far too many little things that, in my opinion, need to be improved. For example, the initial window geometry is not remembered from previous uses and is too small to suite me, so I needed to resize it every use. None of these will keep you from using the product, but they make it less pleasant than it should be.

MergeRight merge window
MergeRight 2000

Guiffy SureMerge, shown at left, displays the merged revision at the top, with the branch revisions at lower left and lower right. Difference areas are highlighted and left/right choices are as simple as pressing a button. Automatic merge can be selected, in which case SureMerge will choose output regions based on an analysis of where a change came from. Areas with multiple changes (merge conflicts) can be edited in place.

SureMerge is a multi-platform Java based solution. As such, its start up performance isn't particularly fast, though the next release is supposed to improve this. SureMerge provides the most complete internationalized solution I've seen, as well as the lowest purchase price.

SureMerge merge window
Guiffy SureMerge

Any of these tools will do the job for you. All are priced less than $200 per user and are well worth the investment. The on-line help for SnapshotCM 1.53 (and newer) includes example specifications for all three of these tools. I've heard that both Prescient and Guiffy plan new releases in the coming months. So if merge is your job, make it a bit easier with one of these additions to SnapshotCM.

Announcing the SnapshotCM Release

SnapshotCM 1.53, available now, completes the product rename announced in our last newsletter. But more importantly, it introduces significant new functionality to help you manage your projects, understand the status of your files, and improve your merge productivity. Projects can now be organized hierarchically with the new Project Manager dialog (shown at left); the Workspace Browser now shows at a glance whether a file exists in both the workspace and snapshot, or only one; the history output lists all snapshots where a file revision is referenced; and SnapshotCM can be configured to call external merge tools, even graphical merge tools on unix platforms. In addition to all of the above, support for Tru64 and separate HP-UX 10.x and 11.x builds are now available. The SnapshotCM Change List provides more details on what is new.

Project Manager

Corporate Source Leverages Open Source™ Practices

Corporate Source, a new product from a company called Zee Source, allows you to leverage the best practices and tools of the acclaimed Open Source™ process for your own software development. It provides easily manageable multi-project versioned source code, along with associated mailing lists, feature requests, bug reports, and so forth. Using Corporate Source, companies can quickly reap benefits of reduced redundant work among related projects, and faster time-to-market with concurrent, global development. Corporate Source is the only tool in its class currently integrated with the SnapshotCM product. For more information, please call Zee Source at 408-373-4027, visit http://www.zeesource.net, see a demonstration at https://cs.zeesource.net (follow the 'browse' link top center in the page and login with account 'guest' and password 'guest'. Now click on project 'NetMon' and browse the source by clicking on the Versioned Source Tree link), or send e-mail.

Command-line Beta Testers Wanted

I've been working on a few shell functions to facilitate managing multiple workspaces and easily switching between them, and am looking for a couple of shell experts who can provide feedback on their utility and usefulness. These functions work on all unix platforms with sh compatible shells. I even use it with Cygwin on Windows. Contact support@truebluesoftware.com to express your interest.

SnapshotCM Tips & Tricks

We'd like to make this a regular feature, and your suggestions will help make it so. Send your SnapshotCM Tips and Tricks to support@truebluesoftware.com for inclusion in a future newsletter.

  • Move a snapshot: Did you know that you can use the Snapshot Properties dialog to move a development snapshot to another development snapshot location in the hierarchy? Just enter the full or relative path of the desired new snapshot name into the Name: field.
  • Simple command-line promoting: Did you know that several of the snapshot (ss) commands understand defaults based on the current workspace? From any directory in your workspace, you can update your mapped snapshot from its parent, simply by running ssupdate. Similarly you can promote your snapshot's changes to its parent by simply running sspromote and compare your snapshot with its parent by running sscompare. No additional arguments are needed. And of course, to check in your files before promoting them, run a recursive wci: wci -R /.

Newsletter Subscriptions

Subscription management of the SnapshotCM newsletter is now automated. To subscribe, click here and then press send. To unsubscribe, click here and then press send. Unsubscribing this way assumes your subscription e-mail matches your default email. You can also still send your requests to support@truebluesoftware.com.

View previous newsletter. View next newsletter.