diff options
author | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2012-09-21 19:40:43 +0000 |
---|---|---|
committer | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2012-09-21 19:40:43 +0000 |
commit | c52883fb4f09c7792e21459c5d4164a5903717ff (patch) | |
tree | 7e021a12a7d9e4c0b484ad818d5e883d7dd67cd5 /scripts/auto-build/auto-build-common | |
parent | 4d6d0e5f7c79543c9c848e5aad86a5c2e20ff48c (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-common | 16 |
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 |