rollback_chg #1

  • //
  • guest/
  • yariv_sheizaf/
  • scripts/
  • rollback_chg
  • View
  • Commits
  • Open Download .zip Download (1 KB)
#!/bin/sh


# Name		: /public/scripts/rollback_chg
# Purpose	: rollback from a submitted changelist script 
# Arguments:	: 1 - a given submitted changelist number.
# By		: Yariv Sheizaf
# Date		: 21-Jan-2002


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`


for i in `p4 describe -s $CHG | grep "^... //" | awk -F# '{print $1}' | sed 's/... //'`
do
	echo ""
	echo ""
	PREVREV=`p4 describe -s $CHG | grep $i | awk -F# '{print $2}' | awk '{print $1-1}'`
	p4 sync $i#$PREVREV
	if [ "$PREVREV" = "0" ]
	then
		p4 sync $i
		p4 delete -c $NEWCHG $i
	else
		p4 edit -c $NEWCHG $i
		p4 sync $i
		p4 resolve -ay -af $i
	fi
done

echo ""
echo "Press any key to continue"
read ANS	

p4 submit -c $NEWCHG

rm -f $$.*

exit 0



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