#! /usr/bin/env perl # p4submit ######################################################################## ######################################################################## # ALLOW COMMAND LINE SUBMITTING OF PERFORCE CHANGELISTS # # Programmed by David Weintraub # Date: 09-Jun-2006 # Purpose: # This program allows users to submit Perforce changelists by # simply giving the changelist number and description on the # command line. # ######################################################################## ######################################################################## # PERL PRAGMAS # use lib qw(/home/merbld/etc/perl); use strict; use warnings; # ######################################################################## ######################################################################## # PERL MODULES # use File::Basename; use Getopt::Long; use FormInfo; # ######################################################################## ######################################################################## # CONSTANTS # # ######################################################################## ######################################################################## # USAGE # my $USAGE=< [-c ] Where : Description Flag : Changelist Number -help: Displays this screen NOTICE: The "-r" flag is NOT supported USAGE # ######################################################################## ######################################################################## # GETOPTS # my ($description, $raw, $changeList, $help); GetOptions ( "d=s" => \$description, "r=s" => \$raw, "c=s" => \$changeList, "help" => \$help ); # ######################################################################## ######################################################################## # CHECK OPTIONS # if ($help) { print "$USAGE\n"; exit 0; } unless ($description) { print "Error: Description Required!\n\n"; print "$USAGE\n"; exit 2; } if ($raw) { print "Error: We do not support the \"-r\" flag on submits.\n"; print " use the regular \"p4 submit\" command\n"; } # ######################################################################## ######################################################################## # READ IN ALL FIELDS # my %changeHash; if ($changeList) { formRead("change", "$changeList", \%changeHash); } else { formRead("change", "", \%changeHash); } # # ####Check to Make Sure it Worked # unless ($changeHash{"Description"}) { print "Could not open changelist $changeList\n"; } # ######################################################################## ######################################################################## # Change Description and Resubmit # $changeHash{"Description"} = "$description"; formWrite("submit", \%changeHash); # ########################################################################