27 lines
499 B
Plaintext
27 lines
499 B
Plaintext
|
#!/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
|