aboutsummaryrefslogtreecommitdiffstats
path: root/util/validate-tarball
blob: 14aff6dd1e1a83930a65f0e50d65133699f7f6ab (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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