73 lines
1.7 KiB
Perl
73 lines
1.7 KiB
Perl
# __________________________________________________________________________________
|
|
#
|
|
# Purpose:
|
|
# PERL Script to emulate SLM's 'out' command
|
|
#
|
|
# Parameters:
|
|
# See Usage below
|
|
#
|
|
# Output:
|
|
# Perforce output or the appropriate error message or usage statement
|
|
#
|
|
# __________________________________________________________________________________
|
|
|
|
#
|
|
# Load common SLM wrapper subroutine module
|
|
#
|
|
use SlmSubs;
|
|
|
|
#
|
|
# Parse command line arguments
|
|
#
|
|
SlmSubs::ParseArgs(@ARGV);
|
|
|
|
#
|
|
# Call usage and exit if ParseArgs has set the Usage or InvalidFlag flags or there
|
|
# were no arguments given
|
|
#
|
|
if ($Usage or $InvalidFlag or $NoArgumentsGiven)
|
|
{
|
|
print $ErrorMessage;
|
|
&Usage;
|
|
exit 1;
|
|
}
|
|
|
|
#
|
|
# Need to have a file list
|
|
#
|
|
if ((!@FileList) and (!@DirList))
|
|
{
|
|
print "\n";
|
|
print "Error: No files specified\n";
|
|
print "\n";
|
|
&Usage;
|
|
exit 1;
|
|
}
|
|
|
|
system "$SourceControlClient sync @FileList @DirList > nul 2>&1 ";
|
|
system "$SourceControlClient edit @FileList @DirList";
|
|
|
|
sub Usage
|
|
# __________________________________________________________________________________
|
|
#
|
|
# Prints out a usage statement for this script. In this case usurped from SLM's
|
|
# 'status' usage statement
|
|
#
|
|
# Parameters:
|
|
# None
|
|
#
|
|
# Output:
|
|
# The usage statement
|
|
#
|
|
# __________________________________________________________________________________
|
|
{
|
|
print q/out - checks out project file(s)
|
|
Usage: out [-?fhr] [file1] [file2...]
|
|
Arguments:
|
|
-h prints out this message.
|
|
-r (recursive) applies the command to a specified directory and to every
|
|
subdirectory under that directory. If no directory is specified in the
|
|
file argument, the current directory is assumed.
|
|
/;
|
|
}
|