blob: 66861fbf85368a819fa3b81e6080c343db9f117b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
#!/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
|