#!/bin/sh LANG=C export LANG LC_TIME=C export LC_TIME umask 077 prefix='[git]' gitfs_list() { DATE=`date +"%b %d %H:%M"` GIT_DIR="$2/.git" user=`whoami` git ls-files -v -c -m -d | sort -k 2 | uniq -f 1 | while read status fname do [ "$status" = "H" ] && status=" " [ "$status" = "C" ] && status="*" echo "-r--r--r-- 1 $user 0 0 $DATE `dirname $fname`/$prefix$status`basename $fname`" done } gitfs_copyout() { printf "%s\n" "$2" > "$4" b=`echo "$prefix"| wc -c` b=`expr "$b" + 1` # remove prefix from file name echo "`dirname "$3"`/`basename "$3" | tail -c+"$b"`" >> "$4" echo "git" >> "$4" } case "$1" in list) gitfs_list "$@" ;; copyout) gitfs_copyout "$@" ;; *) exit 1 ;; esac exit 0