summaryrefslogtreecommitdiff
path: root/tools/regression/src/boost_svn_export_archive.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tools/regression/src/boost_svn_export_archive.sh')
-rwxr-xr-xtools/regression/src/boost_svn_export_archive.sh70
1 files changed, 70 insertions, 0 deletions
diff --git a/tools/regression/src/boost_svn_export_archive.sh b/tools/regression/src/boost_svn_export_archive.sh
new file mode 100755
index 0000000000..e86d377ab9
--- /dev/null
+++ b/tools/regression/src/boost_svn_export_archive.sh
@@ -0,0 +1,70 @@
+#!/bin/sh
+
+#~ Copyright Redshift Software, Inc. 2007
+#~ Distributed under the Boost Software License, Version 1.0.
+#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
+
+export PATH=/bin:/usr/bin:${PATH}
+
+timestamp=`date +%F-%H-%M-%S-%Z`
+branch=$1
+revision=`svn info file:///home/subversion/boost/${branch} | grep '^Revision:' | cut --byte=11-`
+tag=boost-${1/\/*}-${timestamp}
+export_dir=boost-$$
+
+# Remove files as listed in stdin, the assumption is that processing
+# of the file is complete and can be removed.
+rm_c()
+{
+ while read f; do
+ rm -f ${f}
+ done
+}
+# Generate the export file tree, and incrementally output the files
+# created.
+svn_export()
+{
+ svn export -r ${revision} file:///home/subversion/boost/${branch} ${tag}
+ echo "Revision: ${revision}" > ${tag}/svn_info.txt
+ echo "---- ${tag}/svn_info.txt"
+}
+# Create the archive incrementally, deleting files as we are done
+# adding them to the archive.
+make_archive()
+{
+ svn_export \
+ | cut --bytes=6- \
+ | star -c -D -to-stdout -d artype=pax list=- 2>/dev/null \
+ | bzip2 -6 -c \
+ | tee $1 \
+ | tar -jtf - \
+ | rm_c
+}
+
+run()
+{
+ cd /tmp
+ rm -rf ${export_dir}
+ mkdir ${export_dir}
+ cd ${export_dir}
+ mkfifo out.tbz2
+ make_archive out.tbz2 &
+ cat out.tbz2
+ cd /tmp
+ rm -rf ${export_dir}
+}
+
+run_debug()
+{
+ rm -rf ${export_dir}
+ mkdir ${export_dir}
+ cd ${export_dir}
+ mkfifo out.tbz2
+ make_archive out.tbz2 &
+ cat out.tbz2 > ../${tag}.tar.bz2
+ cd ..
+ rm -rf ${export_dir}
+}
+
+run
+#run_debug