[zorg] r282676 - Run multiple svn command in time to speedup checkout.
Vitaly Buka via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 28 19:52:19 PDT 2016
Author: vitalybuka
Date: Wed Sep 28 21:52:18 2016
New Revision: 282676
URL: http://llvm.org/viewvc/llvm-project?rev=282676&view=rev
Log:
Run multiple svn command in time to speedup checkout.
Reviewers: eugenis
Subscribers: beanz, mgorny
Differential Revision: https://reviews.llvm.org/D25052
Modified:
zorg/trunk/zorg/buildbot/builders/sanitizers/buildbot_functions.sh
Modified: zorg/trunk/zorg/buildbot/builders/sanitizers/buildbot_functions.sh
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/builders/sanitizers/buildbot_functions.sh?rev=282676&r1=282675&r2=282676&view=diff
==============================================================================
--- zorg/trunk/zorg/buildbot/builders/sanitizers/buildbot_functions.sh (original)
+++ zorg/trunk/zorg/buildbot/builders/sanitizers/buildbot_functions.sh Wed Sep 28 21:52:18 2016
@@ -7,7 +7,9 @@ function update_or_checkout {
if [ -d ${tree} ]; then
svn up "${tree}" $rev_arg
else
- svn co "${repo}" "${tree}" $rev_arg
+ mkdir -p svn_checkout
+ DIR=$(mktemp -d -p `pwd`/svn_checkout XXXXXX)
+ svn co "${repo}" $DIR/${tree} $rev_arg
fi
}
@@ -31,22 +33,33 @@ function buildbot_update {
fi
done
- update_or_checkout "$rev_arg" http://llvm.org/svn/llvm-project/llvm/trunk llvm
-
if [ "$rev_arg" == "" ]; then
- rev_arg="-r"$(svn info llvm | grep '^Revision:' | awk '{print $2}')
+ rev_arg="-r"$(svn info http://llvm.org/svn/llvm-project/llvm/trunk | grep '^Revision:' | awk '{print $2}')
fi
+ rm -rf svn_checkout
+
+ update_or_checkout "$rev_arg" http://llvm.org/svn/llvm-project/llvm/trunk llvm &
+
# XXX: Keep this list in sync with the change filter in buildbot/osuosl/master/master.cfg.
- update_or_checkout "$rev_arg" http://llvm.org/svn/llvm-project/cfe/trunk llvm/tools/clang
- update_or_checkout "$rev_arg" http://llvm.org/svn/llvm-project/compiler-rt/trunk llvm/projects/compiler-rt
+ update_or_checkout "$rev_arg" http://llvm.org/svn/llvm-project/cfe/trunk llvm/tools/clang &
+ update_or_checkout "$rev_arg" http://llvm.org/svn/llvm-project/compiler-rt/trunk llvm/projects/compiler-rt &
if [ "$CHECK_LIBCXX" != "0" ]; then
- update_or_checkout "$rev_arg" http://llvm.org/svn/llvm-project/libcxx/trunk llvm/projects/libcxx
- update_or_checkout "$rev_arg" http://llvm.org/svn/llvm-project/libcxxabi/trunk llvm/projects/libcxxabi
- update_or_checkout "$rev_arg" http://llvm.org/svn/llvm-project/libunwind/trunk llvm/projects/libunwind
+ update_or_checkout "$rev_arg" http://llvm.org/svn/llvm-project/libcxx/trunk llvm/projects/libcxx &
+ update_or_checkout "$rev_arg" http://llvm.org/svn/llvm-project/libcxxabi/trunk llvm/projects/libcxxabi &
+ update_or_checkout "$rev_arg" http://llvm.org/svn/llvm-project/libunwind/trunk llvm/projects/libunwind &
fi
if [ "$CHECK_LLD" != "0" ]; then
- update_or_checkout "$rev_arg" http://llvm.org/svn/llvm-project/lld/trunk llvm/tools/lld
+ update_or_checkout "$rev_arg" http://llvm.org/svn/llvm-project/lld/trunk llvm/tools/lld &
+ fi
+ wait
+
+ # Merge checked out temporarily directories.
+ if [ -d svn_checkout ]; then
+ for D in svn_checkout/*; do
+ cp -rfl $D/* .
+ done
+ rm -rf svn_checkout
fi
}
More information about the llvm-commits
mailing list