aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scripts/auto-build/extra-svn-update-cygwin.sh29
1 files changed, 29 insertions, 0 deletions
diff --git a/scripts/auto-build/extra-svn-update-cygwin.sh b/scripts/auto-build/extra-svn-update-cygwin.sh
new file mode 100644
index 00000000..cd1947b8
--- /dev/null
+++ b/scripts/auto-build/extra-svn-update-cygwin.sh
@@ -0,0 +1,29 @@
+#!/bin/sh
+#
+# MinGW MSYS does not have its own svn. When using cygwin's svn in
+# MSYS, there are sometimes weird issues caused by their different
+# types of paths. This script runs the svn update under cygwin to
+# make sure everything runs OK. The main build script runs this stuff
+# under MSYS.
+
+# the source dir where this script is
+## this could be done more easily with ${0%/*}
+SCRIPT_DIR=$(echo $0 | sed 's|\(.*\)/.*$|\1|')
+. $SCRIPT_DIR/auto-build-common
+
+LOGFILE=/tmp/extra-svn-update-cygwin.sh.txt
+
+# convert into absolute path
+cd "${SCRIPT_DIR}/../.."
+auto_build_root_dir=`pwd`
+echo "build root: $auto_build_root_dir" > $LOGFILE 2>&1
+
+echo "--- use SCM to clean and update ------------------------" >> $LOGFILE 2>&1
+# first pass at the root without externals
+svn up --ignore-externals $auto_build_root_dir >> $LOGFILE 2>&1
+# then each folder in the root
+clean_and_update_folder $auto_build_root_dir >> $LOGFILE 2>&1
+for dir in $auto_build_root_dir/*; do
+ clean_and_update_folder $dir >> $LOGFILE 2>&1
+ remove_dead_svn_externals $dir >> $LOGFILE 2>&1
+done