#!/usr/bin/perl
#
#*******************************************************************************
#
#Copyright (c) 2009, Perforce Software, Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL PERFORCE SOFTWARE, INC. BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#*******************************************************************************
#
#Author: Stephen Moon
#
#Date: October 27, 2010
#Program: Change the submitoptions for all clients. The user will need to be
# a super user.
#
#*******************************************************************************
use strict;
use warnings;
use FileHandle;
my $p4 = "p4 -p 10.0.0.169:20101 -u smoon";
my $submitOption = "revertunchanged";
my $dirName = "clients";
foreach(`$p4 clients`) {
if(/^Client (\S+) (\d{4}\/\d{2}\/\d{2}) .*$/) {
#print "Client: $1, Date: $2\n";
my $fh = new FileHandle;
mkdir $dirName;
$fh->open(">$dirName/$1.txt") or die "Unable to open $1.txt\n";
foreach(`$p4 client -o $1`) {
if(/^SubmitOptions:\s+(\S+).*$/) {
#print "SubmitOptions: $1\n";
$_ = "SubmitOptions:\t$submitOption";
}
print $fh $_;
}
close($fh);
system("$p4 client -i < $dirName/$1.txt");
}
}