<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
#!/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
