- #!/bin/sh
-
- # Name : /public/scripts/bydirinteg
- # Purpose : Integrate from one directories tree to another according to
- # a given submitted changelist number (Z2H <-> Z2H_epop)
- # By : Yariv Sheizaf
- # Date : 13.9.2001
-
-
- echo ""
- echo "Submitted changelist number ?"
- echo ""
- read ANS
-
- CHG=$ANS
-
-
- p4 change -o $CHG 1>/dev/null 2>&1
- if [ "$?" != "0" ]
- then
- echo ""
- echo "Changelist No. "$CHG" is not exist. Exit..."
- echo ""
- exit 1
- fi
-
- ISSUBMITTED=`p4 describe $CHG | /usr/bin/head -1 | awk '{print $NF}'`
- if [ "$ISSUBMITTED" = "*pending*" ]
- then
- echo ""
- echo "Changelist No. "$CHG" is still pending. Exit..."
- echo ""
- exit 1
- fi
-
- ## Create new pending changelist
- p4 change -o $CHG | sed 's/'$CHG'/new/' | p4 change -i > $$.newchg
-
- NEWCHG=`awk '{print $2}' $$.newchg`
-
-
- SRCDIR=`p4 describe -s $CHG | grep "^... //" | awk -F# '{print $1}' | sed 's/... //' | awk -F/ '{print $6}' | sort | uniq`
-
- if [ "$SRCDIR" = "Z2H" ]
- then
- TRGDIR="Z2H_epop"
- else
- if [ "$SRCDIR" = "Z2H_epop" ]
- then
- TRGDIR="Z2H"
- else
- echo ""
- echo $SRCDIR" is not relevant for "$0" running"
- echo ""
- exit 1
- fi
- fi
-
-
-
- p4 describe -s $CHG | grep "^... //" | awk -F# '{print $1}' | sed 's/... //' | sed 's/ /@@@/g' > $$.flist
-
- IS1CNF=`awk -F/ '{print $4}' $$.flist | sort | uniq | wc -l | awk '{print $1}'`
- if [ "$IS1CNF" != "1" ]
- then
- echo ""
- echo "There are more than one source configuration in changelist No. "$CHG
- echo ""
- exit 1
- fi
-
-
- for i in `cat $$.flist`
- do
- SRCFILE=`echo $i | sed 's/@@@/ /g'`
- ISDSP=`echo $SRCFILE | awk -F. '{print $NF}'`
- if [ "$ISDSP" != "dsp" -a "$ISDSP" != "dsw" ]
- then
- TRGFILE=`echo $SRCFILE | sed 's/'$SRCDIR'/'$TRGDIR'/'`
- p4 integrate -c $NEWCHG -f -d -i -v "$SRCFILE" "$TRGFILE"
- p4 resolve -at -af "$TRGFILE"
- fi
- done
-
- p4 submit -c $NEWCHG
-
- rm -f $$.*
-
-
- echo ""
- echo "Press any key to exit"
- echo ""
- read ANS
-
-
- exit 0
-
-
-