bydirinteg #1

  • //
  • guest/
  • yariv_sheizaf/
  • scripts/
  • bydirinteg
  • View
  • Commits
  • Open Download .zip Download (2 KB)
#!/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



# Change User Description Committed
#1 1472 Yariv Sheizaf scripts dir