WHAT IT IS
This is a program/module for bringing a set of files under ClearCase control by making the minimal set of required changes and running the minimal set of cleartool operations. The real code is in the module, but a wrapper script 'synctree' is provided for command-line access. This is a distant descendant of Paul Smith's 'citree' program, which in turn is derived from a sample shell script of the same name shipped with ClearCase. Though SyncTree bears no resemblance to either one any more, I retain Paul's copyright since mine did mutate from his.
The most common use for SyncTree is probably in moving the results of a build from their build locations to a staging area or release VOB while preserving CR's and potentially changing names/paths en route. That's the purpose it was originally designed for.
Full documentation for both module and program is provided as inline POD format.
Note that there's also a Rational-supported CC program 'clearfsimport' which does part of what synctree does.
DIFFERENCES FROM CITREE
Differences between synctree and citree include:
DIFFERENCES FROM CLEARFSIMPORT
As of ClearCase 4.2 there's a new 'clearfsimport' tool which will have the effect of obsoleting citree and many uses of synctree. However there remain some cases where synctree may be preferred. For instance:
But in some cases a supported, integrated solution is to be preferred and clearfsimport also has advantages over synctree which aren't discussed in depth here, such as mastership handling (-master) and the ability to go somewhat deeper into the database than an aftermarket tool can (see -nsetevent). And of course it doesn't require you to have various Perl modules installed. See the clearfsimport documentation for its details.
PLATFORM NOTES
This package is believed to work on all ClearCase platforms including Windows, and even Cygwin. Note, however, that the test environments are mostly Solaris 10 and Windows Vista, Perl 5.8.8 to 5.12.0. It worked on Solaris 7 and NT 4.0 with Perl 5.6.0 when I last worked there but I have no way to check these or any other platforms now.
A sample "synctree.bat" script is provided showing one method of invocation on Windows. Other ways (for instance using the .pl file extension association) are also possible.
LATEST VERSION
The latest released version will always be on CPAN, e.g. http://www.perl.com/CPAN-local/modules/by-module/IPC/DSB/