edk2/make-tarball.sh
2022-11-25 11:25:25 +01:00

24 lines
553 B
Bash
Executable File

#!/bin/sh
# args
repo="${1%/}"
ref="${2-HEAD}"
# check
if test ! -d "${repo}/.git"; then
echo "usage: $0 <repodir> [ <ref> ]"
exit 1
fi
# get + print info
commit=$(cd $repo; git show --pretty='format:%h' $ref | head -1)
date=$(cd $repo; git show --pretty='format:%cs' $ref | head -1 | tr -d '-')
echo "# $repo $ref -> commit $commit - date $date"
# create tarball
name="${repo##*/}"
file="${name}-${commit}.tar.xz"
(cd $repo; git archive --format=tar --prefix=${name}-${commit}/ ${commit}) \
| xz -9ev > "$file"
echo "# $file written"