NAME `VCS::StarTeam' - Provide a simple interface to StarBase's StarTeam. SYNOPSIS #!perl -w use strict; use VCS::StarTeam; $obj = VCS::StarTeam->new( { batchmode => 0, compress => 0, host => 'localhost', endpoint => '1024', project => 'BigNewIdea', password => 'MyPassword', path => 'Source/MyIdea', recurse => 0, stoponerror => 0, username => 'StarTeamUser', verbose => 1, view => 'MyMainView', } ); # # view the history of helloworld.c # $obj->hist( 'helloworld.c' ); # OR $obj->history( 'helloworld.c' ); # OR $obj->log( 'helloworld.c' ); # # list all the C source files in the current folder # $obj->list( '*.c' ); # # force the checkout of helloworld.c and lock it # $obj->checkout( '-o', '-l', 'helloworld.c' ); # OR $obj->co( '-o', '-l', 'helloworld.c' ); # OR $obj->get( '-o', '-l', 'helloworld.c' ); # # checkin and unlock helloworld.c # $obj->checkin( '-u', "-r \"Cool changes\"", 'helloworld.c' ); # OR $obj->ci( '-u', "-r \"Cool changes\"", 'helloworld.c' ); # OR $obj->put( '-u', "-r \"Cool changes\"", 'helloworld.c' ); # # compare revision 1 & 2 of helloworld.c # $obj->diff( '-vn 2', '-vn 1', 'helloworld.c' ); # OR $obj->vdiff( '-vn 2', '-vn 1', 'helloworld.c' ); # # N.B. the arguments may all be in one string, # or separated by quotes. # $obj->co( '-o', '-l', 'helloworld.c' ); # OR $obj->co( '-o -l helloworld.c' ); # # clean up # undef $obj; DESCRIPTION The `VCS::StarTeam' module provides an OO interface to StarTeam. INTERFACE PUBLIC METHODS `history' Convenience routine calls private method `_hist' `hist' Convenience routine calls private method `_hist' `log' Convenience routine calls private method `_hist' `list' Equivalent to issuing the command `stcmd list...'. Pass options and file names as parameters. `checkout' Convenience routine calls private method `_co' `co' Convenience routine calls private method `_co' `get' Convenience routine calls private method `_co' `checkin' Convenience routine calls private method `_ci' `ci' Convenience routine calls private method `_ci' `put' Convenience routine calls private method `_ci' `diff' Convenience routine calls private method `_diff' `vdiff' Convenience routine calls private method `_diff' PRIVATE METHODS `_hist' Equivalent to issuing the command `stcmd hist *[hist options]* *files*'. Pass options and file names as parameters. `_ci' Equivalent to issuing the command `stcmd ci *[ci options]* *files*'. Pass options and file names as parameters. `_co' Equivalent to issuing the command `stcmd co *[co options]* *files*'. Pass options and file names as parameters. `_diff' Equivalent to issuing the command `stcmd diff *[diff options]* *files*'. Pass options and file names as parameters. `_runOrCroak' The standard way to run a system command and report on the result. I "borrowed" and modified this routine from Ron Savage's ** `VCS::CVS' module. It will honor the 'verbose' parameter. `_getpparam' Builds the '-p' argument string used in `stcmd' commands. PROPERTIES `batchmode' Boolean used to toggle between interactive and batch modes. If you do not set this parameter to non-zero (TRUE) you must confirm error messages interactively. Default to 0 (interactive mode). `compress' Compresses all the data sent between the workstation and StarTeam server and decompresses it when it arrives. Useful for slow connections. Defaults to 0 (off). `host' StarTeam server hostname. If omitted, `host' defaults to "localhost". `endpoint' StarTeam server endpoint (for example a port number or named pipe). If omitted, `endpoint' defaults to "1024". `project' The StarTeam project name. You must always supply a project name. `password' StarTeam user's password. If omitted, the user will be prompted to enter the password. `path' Folder hierarchy. This can be omitted if the file is in the view's root folder. The folder hierarchy should never include the root folder. For example, if the root folder of the view is `BigNewIdea' and the hierarchy to your files is `BigNewIdea/SourceCode/Client', use only `SourceCode/Client' as the folder hierarchy. `recurse' If non-zero (TRUE), applies the command to child folders. Defaults to 0 (off). `stoponerror' Often used in batch mode (see property `batchmode' above). If non-zero (TRUE) will halt execution of the command when the first error is encountered. Defaults to 0 (off). `username' The StarTeam user name. If omitted, the current user's logon name is used. `verbose' Boolean used to instruct the module to display or suppress progress reporting. `verbose' defaults to 0 (suppress progress reporting). `view' The StarTeam project view. If omitted, the root, or default, view is used. INSTALLATION You install `VCS::StarTeam', as you would install any perl module library, by running these commands: perl Makefile.PL make make test make install AUTHOR `VCS::StarTeam' was written by Joe P. Hayes ** in 2001. LICENSE The `VCS::StarTeam' module is Copyright (c) 2001 Joe P. Hayes. All Rights Reserved. You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the Perl README file. SUPPORT / WARRANTY The `VCS::StarTeam' module is free software. IT COMES WITHOUT WARRANTY OF ANY KIND. Commercial support for Perl can be arranged via The Perl Clinic. For more details visit: http://www.perlclinic.com