aboutsummaryrefslogtreecommitdiff
path: root/scripts/auto-build/auto-build-common
diff options
context:
space:
mode:
authorHans-Christoph Steiner <eighthave@users.sourceforge.net>2012-09-21 19:40:43 +0000
committerHans-Christoph Steiner <eighthave@users.sourceforge.net>2012-09-21 19:40:43 +0000
commitc52883fb4f09c7792e21459c5d4164a5903717ff (patch)
tree7e021a12a7d9e4c0b484ad818d5e883d7dd67cd5 /scripts/auto-build/auto-build-common
parent4d6d0e5f7c79543c9c848e5aad86a5c2e20ff48c (diff)
remove dead svn:externals so they can be replaced by new folders
svn path=/trunk/; revision=16260
Diffstat (limited to 'scripts/auto-build/auto-build-common')
-rw-r--r--scripts/auto-build/auto-build-common16
1 files changed, 16 insertions, 0 deletions
diff --git a/scripts/auto-build/auto-build-common b/scripts/auto-build/auto-build-common
index 5a522aff..9a970790 100644
--- a/scripts/auto-build/auto-build-common
+++ b/scripts/auto-build/auto-build-common
@@ -102,6 +102,21 @@ find_svn()
fi
}
+remove_dead_svn_externals()
+{
+ svn=$(find_svn)
+ svn_externals=`$svn propget -R svn:externals "$1" | sed 's|^.* - ||' | awk '{print $1}'`
+ for external in `$svn status --no-ignore "$1" | grep '^[X?]' | awk '{print $2}'`; do
+ name=$(basename $external)
+ if [ -z "$(echo $svn_externals | grep $name)" ]; then
+ echo "Removing defunct svn:external '$name' at '$external'"
+ echo rm -rf "$external"
+ else
+ echo "not removing $external"
+ fi
+ done
+}
+
clean_and_update_folder()
{
folder=$1
@@ -119,6 +134,7 @@ clean_and_update_folder()
awk '{print $2}' | \
xargs rm -rf
$svn update
+ $svn update -N $folder
else
echo "no cleaning done, unknown SCM"
fi