p4_changes.sh

 

#!/bin/bash
###
### p4_changes.sh
###
### Extract changelist information and copy to intranet
###
###

PATH=$PATH:/usr/local/bin

umask 000

P4PORT=www.setgetweb.com:1666
P4ROOT=/usr/p4
P4USER=map
P4CLIENT=www.setgetweb.com.map
P4PASSWD=
P4JOURNAL=/usr/p4/journal

export PATH P4PORT P4ROOT P4USER P4PASSWD P4ROOT P4JOURNAL

cd /usr/tomcat/webapps/ROOT/perforce/changelist

echo "Retrieving changes..."
p4 changes > p4_changes.txt
/usr/local/bin/convert.sh p4_changes.txt


lastfile=""
new=""

if [ -f [0-9]* ]
then
    lastfile=`ls -1 [0-9]* | sort -n | tail -1` 
    xyz=`basename $lastfile .html`
else
    lastfile=1.html
    xyz=1
fi

new=`head -1 p4_changes.txt | cut -d" " -f2`
echo $new


while [ $xyz -le $new ]
do
     p4 describe -s $xyz > $xyz.txt
     convert.sh $xyz.txt
     xyz=`expr $xyz + 1`
 done

for i in `cut -d" " -f2 p4_changes.txt`
do
    echo $i
    sed "s/Change $i/ <a href=\"$i.html\">$i<\/a> /g" p4_changes.html > tmp4.$$
    mv tmp4.$$ p4_changes.html
done


for i in `p4 clients | cut -d" " -f2 | sort -r`
do
    p4 client -o $i > $i.txt
    convert.sh $i.txt
    sed "s/\@$i/\@<a href=\"$i.html\">$i<\/a>/" p4_changes.html > tmp4.$$
    mv tmp4.$$ p4_changes.html
done

sed "s/^  <a href/<tr><td valign=top> <a href/" p4_changes.html | \
sed "s/<\/a>/<\/a><\/td><td valign=top>/" | \
sed "s/ on .......... by /<\/td><td valign=top>/" | \
sed "s/\*pending\*//" | \
sed "s/'$/<\/td><\/tr>/" | \
sed "s/'/<\/td> <td valign=top>/" | \
sed "s/<td valign=top> <\/td>//" | \
sed "s/<pre>/<p><table cellpadding=10 border=1><tr><th align=left>Change<\/th><th align=left>Who<\/th><th align=left>Description<\/th><\/tr>/" | \
sed "s/<\/pre>/<\/table>/"  > test.html
mv test.html p4_changes.html



rm /usr/tomcat/webapps/ROOT/perforce/changelist/1*.txt
rm /usr/tomcat/webapps/ROOT/perforce/changelist/2*.txt
rm /usr/tomcat/webapps/ROOT/perforce/changelist/3*.txt
rm /usr/tomcat/webapps/ROOT/perforce/changelist/4*.txt
rm /usr/tomcat/webapps/ROOT/perforce/changelist/5*.txt
rm /usr/tomcat/webapps/ROOT/perforce/changelist/6*.txt
rm /usr/tomcat/webapps/ROOT/perforce/changelist/7*.txt
rm /usr/tomcat/webapps/ROOT/perforce/changelist/8*.txt
rm /usr/tomcat/webapps/ROOT/perforce/changelist/9*.txt