#!/usr/bin/env python3

from os import getcwd
from subprocess import check_output, DEVNULL
from sys import stdin, stdout, argv

content = stdin.read()

# To editors:
# The usage of FETCH_HEAD here is very tricky.  This is only intended for
# the cron job running "git pull" periodically.  Humans should NOT rely on
# this script at all.  Do NOT add "dater" filter into your .git/config.
# For editors, just use `git log ${path}` to show the history of a file.
cmd = [ 'git', 'log', '-1', '--pretty=%ad', 'FETCH_HEAD', '--', argv[1] ]
try:
    date = check_output(cmd, cwd = getcwd(), stderr=DEVNULL).decode().rstrip()
    content = content.replace('$Date$', '$Date: %s$' % date)
except Exception:
    pass
stdout.write(content)
