#!/usr/bin/perl ######################################################################### # # find_eclipsed.pl # # Description: # This script will find all eclipsed files in a view for a particular # vob. # #######################################################################m $usage = "Usage:\n" . "\tfind_eclipsed.pl -v [view-name] [vob-tag]\n" . "\tfind_eclipsed.pl -h[elp]"; # OS that we're executing from $OS = (eval{Win32::IsWinNT();},$@) ? "UNIX" : "NT"; if ($OS eq "NT") { $ATRIAHOME = $ENV{"ATRIA_HOME"} || 'c:/program files/rational/clearcase'; $CT = "$ATRIAHOME/bin/cleartool.exe"; (-x $CT) || die "Cannot find an executable cleartool"; $CT = "\"$CT\""; $TEMPDIR = $ENV{"TEMP"} || $ENV{"TMP"} || "c:\\temp"; } else { $ATRIAHOME = "/opt/rational/clearcase"; $CT = "$ATRIAHOME/bin/cleartool"; (-x $CT) || die "Cannot find an executable cleartool"; $TEMPDIR = "/tmp"; } while ($_ = shift @ARGV) { if (/^-v/) { $view = shift(@ARGV); next; } if (/^-h/) { print("$usage\n"); exit 0; } if (/^-/) { print("Invalid switch '$_'\n"); exit 1} $vob = $_; } unless($view) { print("No view specified\n"); exit 1; } unless($vob) { print("No vob specified\n"); exit 1; } `$CT startview $view`; `$CT mount $vob`; if ($OS eq "NT") { @files = `$CT ls -rec \\\\view\\$view\\$vob`; } else { @files = `$CT ls -rec /view/$view/$vob`; } @eclipsed_files = grep(/eclipsed/,@files); print("Eclipsed files:\n @eclipsed_files\n");