Blame | Last modification | View Log | RSS feed
################################################################################ CLASS Clearcase::UndoCheckoutCmd# This class inherits from the CCCmpdProc and executes the cleartool command# "checkin" with no default args, args can be set## It Does not override CCProcess, it runs in no processing mode so output is printed# directly.###############################################################################package Clearcase::UndoCheckoutCmd;use strict;use DeployUtils::Logger;use Clearcase::CmdProc;use vars qw( @ISA );@ISA = qw( Clearcase::CmdProc );#==============================================================================# Constructor#==============================================================================sub new{my $obclass = shift;my $class = ref($obclass) || $obclass;my $args = "";LogDebug("Clearcase::UndoCheckoutCmd::new Instantiating new object of class $class");# Call base class's constructormy $self = $class->SUPER::new();# set Cmd to do no processing$self->processOutput(0);$self->abortOnError(0);# Add this class's data to the class object$self->{_FILELIST} = [];bless($self, $class);# set Clearcase command and arg$self->CCcmd("uncheckout");foreach my $newarg ( @_ ){$args .= " " . $newarg;}$self->CCargs($args);return $self;} # new#==============================================================================# addFiles# Adds files to list of files to checkin#==============================================================================sub addFiles{my $self = shift;map { $_ = "\"$_\"" } @_;LogDebug("Clearcase::UndoCheckoutCmd::addFiles Added Files " . join(",", @_));push( @{$self->{_FILELIST}}, @_);} # addFiles#==============================================================================# getNumFiles# Returns number of files in file list#==============================================================================sub getNumFiles{my $self = shift;return $#{$self->{_FILELIST}};} # getNumFiles#==============================================================================# CCexecute# Overrides base class version.# It simply appends files to args and calls the base class execute.# If there are no files it returns without running#==============================================================================sub CCexecute{my $self = shift;my $retval = 0;if ( $#{$self->{_FILELIST}} >= 0 ){$self->CCaddArgs(@{$self->{_FILELIST}});$retval = $self->SUPER::CCexecute();}else{LogInfo("Clearcase::UndoCheckoutCmd::CCexecute No execution as no Files supplied");}return $retval;} # CCexecute