Initial add of defaria.com
[clearscm.git] / defaria.com / Computers / code / bin / clearcase / files4lab
1 #!/bin/bash
2 ################################################################################
3 #
4 # File:         files4lab
5 # Description:  Lists the clearcase files that relate to label(s)
6 # Author:       Andrew@DeFaria.com
7 # Created:      Thu Dec 13 19:11:15  2001
8 # Language:     Bash Shell
9 # Modifications:
10 #
11 # (c) Copyright 2001, Andrew@DeFaria.com, all rights reserved
12 #
13 ################################################################################
14 # Set me to command name
15 me=$(basename $0)
16
17 # Source /etc/site_parms
18 if [ -f /etc/site_parms ]; then
19   . /etc/site_parms
20 else
21   echo "$me: WARNING: /etc/site_parms does not exist!"
22 fi
23
24 # Set adm_base
25 adm_base="$SITE_TOOLS_PATH/adm"
26
27 # Set adm_fpath
28 adm_fpath=${adm_fpath:-$adm_base/functions}
29
30 # Source functions
31 . $adm_fpath/common
32
33 function usage {
34   display "$me: [ -view <viewtag> ] <label> [<label>]"
35   display
36   display "Where:"
37   display
38   display "-view\tViewpath to use (default $SITE_OFFICIAL_VIEW)"
39   display "<label>\tLabel(s) to search for"
40  
41   exit 1
42 } # usage
43
44 # Get parameters                                                                
45
46 if [ "$1" = "-v" -o "$1" = "-view" ]; then
47   shift
48   vob="$1/salira"
49   shift
50 else
51   vob="$SITE_SNAPSHOT_VIEW_PATH/$SITE_OFFICIAL_VIEW/salira"
52 fi
53
54 if [ ! -d "$vob" ]; then
55   echo "$me: Error: Unable to cd to vob $vob"
56   exit 1
57 fi 
58
59 cd $vob
60
61 if [ $# -lt 1 ]; then
62   usage
63 fi
64
65 view_name=$(cleartool pwv -short)
66
67 for label in $@; do
68   echo "Files labeled $label:"
69   cleartool find -all -version "lbtype($label)" -print | tr "\\\\" "/" >/tmp/$me.$$
70
71   declare -i i=0
72
73   while read element_version; do
74     let i=i+1
75     # Chop off leading view path
76     element_version=$(echo ${element_version##*$view_name})
77     # Extract element portion
78     element=$(echo $element_version | cut -f1 -d@)
79     # Extract version portion
80     version=$(echo $element_version | cut -f3 -d@)
81     echo -e "\t$element\t$version"
82   done < /tmp/$me.$$
83
84   if [ $i -eq 0 ]; then
85     echo "No files labeled $label"
86   elif [ $i -eq 1 ]; then
87     echo "1 file labeled $label"
88   else
89     echo "$i files labeled $label"
90   fi
91
92   rm -f /tmp/$me.$$
93 done