From 53468ccfec6f120a426a07f398b964ea289c461e Mon Sep 17 00:00:00 2001 From: Alejandro Mery Date: Sun, 29 Jun 2008 15:23:16 +0000 Subject: [PATCH] [sde-update-tree] Introduced update_svn_nested(), in charge of listing svn:externals but not sub-externals... which dupe in the recursion --- bin/sde-update-tree | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/bin/sde-update-tree b/bin/sde-update-tree index bd9af2f..43793cb 100755 --- a/bin/sde-update-tree +++ b/bin/sde-update-tree @@ -108,6 +108,19 @@ update_git() ( git reset && git pull --rebase ) 2>&1 | indent_output } +update_svn_nested() +{ + trap ':' INT + # find svn:externals, and filter out sub-externals + svn st | grep '^X' | cut -c8- | tee /tmp/$$.nested | + while read f; do + sed -i -e "s|^$f/.*||;" -e '/^$/d;' /tmp/$$.nested + done + cat /tmp/$$.nested + rm -f /tmp/$$.nested + trap '-' INT +} + update_svn() { local prefix="$1" x= @@ -116,7 +129,7 @@ update_svn() svn up --ignore-externals 2>&1 | indent_output # nested svn - for x in $( svn st | grep '^X' | cut -c8- ); do + for x in $( update_svn_nested ); do ( cd "$x"; update_svn "$prefix/$x" ) done }