#!/usr/bin/perl


# Delete a p4 controlled library


$lib=$ARGV[0];
$client=$ARGV[1];

local($p4) = "p4";

# First get all the opened files

$dlist=0;
open(CL, ">/tmp/p4cl.$lib") || die ;

print(CL "\nChange: new\n\Description: $lib delete\n\n\nFiles:\n\t");

open(OPENED, "$p4 -c $client opened|") || next;

while(<OPENED>) {

    {
	# is it add or edit
	(@mode)=split;
	($depotfile)=split('#', $mode[0]);
	$p4mode=$mode[2];

	
	
	if($p4mode eq "add") {
	    # revert it
	    system("$p4 -c $client revert $depotfile");
	    $dlist{$depotfile}=1;
	    next;
	}

	if($p4mode eq "delete") {
	    print(CL "\t$depotfile\n");
	    $dlist{$depotfile}=1;
	    next;
	}


	if($p4mode eq "edit") {
	    # mark it for delete
	    # write it into the change list
	    system("$p4 -c $client revert $depotfile; $p4 -c $client delete $depotfile");
	    print(CL "\t$depotfile\n");
	    $dlist{$depotfile}=1;
	    next;
	}
	
    }
}

close(OPENED);

open(HAVE, "$p4 -c $client have|") || next;

while(<HAVE>) {

    {

	($depotfilev)=split;
	($depotfile)=split('#', $depotfilev);

	if($dlist{$depotfile} eq 1) {
	    #print "Skipping $depotfile\n";
	    next;
	}
	
	system("$p4 -c $client delete $depotfile");
	print(CL "\t$depotfile\n");
    }
}


print (CL "\n");
close(CL);

# submit the changelist


system("$p4 -c $client submit -i < /tmp/p4cl.$lib");
system("rm /tmp/p4cl.$lib");
system("$p4 client -d $client");