#!/bin/sh

# These scripts pretty much have to be ran in this order, to work correctly, 
# since some copy and remove whole sub-trees, where as others copy and remove 
# individual pieces of those subtrees

echo;
echo "   performing $0";
echo;

./initNew.sh
./movejsf.sh
./moverdb.sh
./movecommon.sh
./moveservertools.sh
./movewebservices.sh
./movesourceediting.sh
./movereleng.sh
./movemaps.sh
./moveejb.sh
./movejee.sh
./moveCleanup.sh
./moveNewToOld.sh
