diff --git a/git-dump b/git-dump new file mode 100755 index 0000000..f3a7e35 --- /dev/null +++ b/git-dump @@ -0,0 +1,26 @@ +#!/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