State (see State Pattern) prepared, a lot reworked/refactured
[core.git] / setup-repos.sh
index 68f6a83..fbd7280 100755 (executable)
@@ -4,11 +4,44 @@
 if test "$1" == ""; then
        echo "Usage: $0 <repos> Setup given repository locally."
        exit
+elif test -e "$1/.svn/"; then
+       echo "$0: Repository $1 is possibly setup! Aborting..."
+       exit
 fi
 
-svn co svn+ssh://www.mxchange.org/var/www/svn-repos/$1/
+echo "$0: Checking out $1 ..."
+svn co svn+ssh://www.mxchange.org/var/www/svn-repos/$1/ || exit 255
 cd $1
-svn mkdir branches tags trunk
-svn propset -F ../core/trunk/svn-externals.txt trunk
-svn commit -m "Initial import with linked core"
-cd
+echo "$0: Creating base directories ..."
+svn mkdir branches tags trunk || exit 255
+cd trunk
+echo "$0: Updating skeleton ..."
+svn up ../../skel/ || exit 255
+echo "$0: Importing skeleton repository ..."
+svn export --force ../../skel/trunk/ . || exit 255
+svn add * || exit 255
+if test "$1" != "admin"; then
+       echo "$0: Adding directory application/$1 ..."
+       svn mkdir application/$1 || exit 255
+else
+       echo "$0: --- Not creating directory application/$1. ---"
+fi
+echo "$0: Linking to external 'core' repository ..."
+svn propset svn:externals -F ../../core/trunk/svn-externals.txt . || exit 255
+if (test "$1" != "admin" && test "$1" != "install"); then
+       cd application/
+       svn propset svn:externals "admin http://www.ship-simu.org/repos/admin/trunk/application/admin/
+install http://www.ship-simu.org/repos/install/trunk/application/install/" . || exit 255
+       cd .. # trunk
+else
+       echo "$0: --- Not setting admin external source. ---"
+fi
+cd .. # root
+echo "$0: Running commit ..."
+svn commit -m "Initial import with linked core from skeleton" || exit 255
+echo "$0: Updating ..."
+svn up
+echo "$0: Exporting repositiory ..."
+svn export --force trunk/ /var/www/htdocs/$1
+cd .. # start
+echo "$0: All done."