#!/bin/sh # USAGE: # Working directory needs to be git repo # call with name of directory you'd like to dump to set -eu DIR="/var/www/git-dump/$1" files=`git ls-tree --full-tree -r --name-only HEAD` rm -rf "$DIR" echo "$files" | while IFS=$'\n' read -r f; do subdir=`dirname $f` fulldir="$DIR/$subdir" mkdir -p "$fulldir" fullpath="$DIR/$f.txt" git show HEAD:"$f" > "$fullpath" if file "$fullpath" | grep -q "text"; then : else echo "Binary file" > "$fullpath" fi done