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. DIFFERENCES FROM CITREE Differences between synctree and citree include: 1. Synctree works on Windows as well as UNIX. 2. Synctree is capable of preserving CR's when checking in DO's. 3. Synctree has an exception-handler implementation which by default will undo all work upon encountering an error (it's a matter of opinion whether this is a feature). 4. The CLI is different, though the flag semantics map fairly well. DIFFERENCES FROM CLEARFSIMPORT As of ClearCase 4.1 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: 1. Synctree works with CC versions prior to 4.1. 2. Synctree handles MVFS->MVFS transfers while preserving CR's whereas clearfsimport does flat_file_system->MVFS only. 3. Synctree has support for remapping filenames in transit and a -Narrow option for limiting the set of files to transfer. 4. A Perl API (ClearCase::SyncTree) is provided for custom tool development whereas clearfsimport is a command-line interface only. 5. Synctree may at some point (but does not yet) have support for "element retention". I.e. if an element is added in one pass and then removed (rmnamed) in a subsequent pass and if a third pass would make another element of the same name, synctree could optionally make a link to the existing file instead of creating what might be a "evil twin". But in most cases the supported, integrated solution is to be preferred and clearfsimport has advantages over synctree which aren't discussed here (at the least it's somewhat faster though neither could be described as quick). PLATFORM NOTE This package is believed to work on all ClearCase platforms including Windows. Note, however, that while the _module_ has significant Windows testing, the synctree wrapper script does not as I don't use it there. It does appear to work just fine in limited Windows testing, though. LATEST VERSION The latest released version will always be on CPAN, e.g. http://www.perl.com/CPAN-local/modules/by-module/IPC/DSB/