- #! /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=<<USAGE;
- @{[basename($0)]} -d <desc> [-c <change>]
-
- Where
- <desc>: Description Flag
- <change>: 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);
- #
- ########################################################################