Many customers have discovered the power and flexibility of IBM's Rational Team Concert tooling. While this software provides a seamlessly integrated all-in-one Agile development environment with a powerful client offering, occasionally customers still need to interact with the underlying source control management (SCM) system in a headless (or command line) format. Rational Team Concert provides a command line interface to its SCM functions that covers nearly all the features offered through the client by using the scm command. The command line function offered through the scm command is well documented and frequently used. For customers who make extensive use of the command line functionality, however, a better option may be lscm. This variation on the standard scm command is a wrapper that provides better performance metrics. While the standard command line function provides the bulk of the operations offered by the client, the client has the performance advantage of context over the command line options--meaning, the client is able to streamline its performance by caching connection and daemon information for consecutive SCM operations . The lscm command mimics this behavior by creating a daemon process that can reduce start up time for SCM-type commands.
By and large the format of the lscm command is identical to that of the scm command. The rule of thumb is to always use the lscm command, but each of these commands has their advantages:
- For simple, occasional calls using the CLI (command line interface) or on systems where memory is very limited, continued use of the traditional scm command would be recommended. This is because this command must load the JVM, Java classes, and Eclipse plug-ins with each invocation. After the command is completed the JVM is shut down and the memory is freed.
- For more robust usage scenarios and when scripts contain many consecutive scm-intensive commands (share, load, etc) the lscm command could provide a significant performance advantage since these commands can reuse the daemon that is cached in memory reducing the start up time.
When evaluating the performance of existing scripts or planning the best way to implement a new SCM solution, understanding the pros and cons of all available options is crucial. Hopefully this clarification on the headless commands available in RTC sheds light on the best ways to structure your CLI interactions.