Added interface AddableCriteria
[core.git] / setup-repos.sh
index 68f6a832f64d9d1ff985ad4538690a2126f8c07c..60d1fb6b81f57e1a92135275e0208f8874cd24b1 100755 (executable)
@@ -1,14 +1,55 @@
 #!/bin/sh
-# A little helper script of mine to setup a new development check-out directory
+# A little helper script of mine to setup a new development check-out directory.
+# This script should be called where you want to create the repository and 'core'
+# must be in the same directory. This script is public domain, if it blows up
+# your washing maschine or your refrigerator stops working, this script is maybe
+# not responsible for this, ask your trusted electrican. Use it on your own risk.
 
-if test "$1" == ""; then
-       echo "Usage: $0 <repos> Setup given repository locally."
+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/
-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}: Checking out ${1} ..."
+svn co "svn+ssh://www.mxchange.org/var/www/svn-repos/${1}/" || exit 255
+cd "${1}"
+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/
+       if test "${1}" != "qa"; then
+               svn propset svn:externals -F ../../../core/trunk/application-external.txt . || exit 255
+       else
+               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
+       fi
+       cd .. # trunk
+else
+       echo "${0}: --- Not setting admin/install 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."