doc.silverstripe.org/bin/update.sh
2014-09-26 14:40:33 +12:00

69 lines
2.0 KiB
Bash
Executable File

dir=$1
if [ ! "$dir" ]; then
echo "Usage: $0 /base/folder/to/docs"
exit 1
fi
#=== FUNCTION ================================================================
# NAME: checkout
# DESCRIPTION: Checks out a specific branch of a module into a folder. Not
# particular good for taking up space, but at the moment separate
# folders for each version we need will do.
#
# The master branch will checked out by default
# PARAMETERS:
# $1 - module path on github (e.g silverstripe/silverstripe.git)
# $2 - branch name (e.g 3.0)
# $3 - module name (e.g framework)
#
#===============================================================================
# Parameters: github path
function checkout {
echo "Checking out $2/$3 from $1"
mkdir -p $dir/src
if [ ! -d $dir/src/$2 ]; then
echo "Cloning git://github.com/$1 into $dir/src/$2"
cd $dir/src
git clone -q git://github.com/$1 $2
cd ../
else
cd $dir/src/$2
git fetch origin
git reset --hard -q
cd ../../
fi
if [ $# == 3 ]; then
if [ -d $dir/src/$2_$3 ]; then
cd "$dir/src/$2_$3"
else
cp -R "$dir/src/$2" "$dir/src/$2_$3"
cd "$dir/src/$2_$3"
fi
git reset --hard origin/$3 -q
cd ../../
fi
}
# core
checkout 'silverstripe/silverstripe-framework.git' 'framework' 'master'
checkout 'silverstripe/silverstripe-framework.git' 'framework' '3.1'
checkout 'silverstripe/silverstripe-framework.git' 'framework' '3.0'
checkout 'silverstripe/silverstripe-framework.git' 'framework' '2.4'
checkout 'silverstripe/silverstripe-framework.git' 'framework' '2.3'
# core modules with docs
checkout 'silverstripe/silverstripe-cms.git' 'cms' '3.0'
# checkout 'silverstripe/silverstripe-docsviewer.git' 'docsviewer'
# checkout 'silverstripe/silverstripe-forum.git' 'forum'
# checkout 'silverstripe/silverstripe-translatable.git' 'translatable'
# checkout 'silverstripe/silverstripe-subsites.git' 'subsites'
# popular labs projects
# checkout 'silverstripe-labs/silverstripe-staticpublisher.git' 'staticpublisher'
echo "Done."