diff options
Diffstat (limited to 'util/validate-tarball')
| -rwxr-xr-x | util/validate-tarball | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/util/validate-tarball b/util/validate-tarball new file mode 100755 index 0000000..14aff6d --- /dev/null +++ b/util/validate-tarball @@ -0,0 +1,27 @@ +#!/bin/sh +# See LICENSE file for copyright and license details. + +set -e + +if ! test $# = 3; then + printf 'usage: %s tarball git-dir work-dir\n' "$0" >&2 + exit 1 +fi + +utildir="$(dirname -- "$0")" + +dir="$3/$$.tmpdir" +rm -rf -- "${dir}" +mkdir -- "${dir}" + +gunzip < "$1" | (cd -- "${dir}" && tar -x) + +(cd -- "$2" && git ls-files -z) > "$3/listing-1" +(cd -- "${dir}"/*/ && find -print0) > "$3/listing-2" + +set +e +"${utildir}"/repodiff "$2" "$3/listing-1" "${dir}"/* "$3/listing-2" +ret=$? + +rm -rf -- "${dir}" +exit $ret |
