master hovercats/oakiss / scripts / hash.sh
 1set -e
 2
 3if [ "$#" != 4 ] ; then
 4	echo 'usage: hash.sh repo mode name file' >&2
 5	exit 2
 6fi
 7
 8repo=$1
 9mode=$2
10name=$3
11shift 3
12
13case "$mode" in
1412????)
15	hash=$(printf %s "$1" | git -C "$repo" hash-object -w --stdin) ;;
1610????)
17	hash=$(git -C "$repo" hash-object -w --stdin <"$1") ;;
18*)
19	echo "invalid mode: $mode"
20	exit 1
21esac
22
23printf '%s %s\t%s\n' "$mode" "$hash" "$name"