#!/bin/bash if [ "x$1" = 'x-C' ]; then git_dir=$(readlink -e "$2") shift 2 else git_dir=$(pwd) fi if [ $# -ne 1 ] || [ ! -d "${git_dir}" ]; then printf 'usage: %s [-C /dir/ec/to/ry] archive.tar\n' "${0##*/}" exit 1 fi tmp_dir=$(mktemp -d) trap 'cd /; rm -rf --one-file-system "${tmp_dir}"' EXIT cd "${tmp_dir}" git clone "${git_dir}" . git -C "${git_dir}" rev-parse HEAD #bsdtar -C "${tmp_dir}" -xf "$1" --strip-components 1 find "${tmp_dir}"