blob: 610c28103c3a482c09fa3fff8b3bf67515ddeccf (
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
|
#! /bin/sh
if [ "$1" = "-f" ]; then
shift
DATE_FORMAT="$1"
shift
fi
: ${FILE:=$1}
: ${DATE_FILE:=$(dirname "$FILE")/.$(basename "${FILE}").date}
: ${DEFAULT_DATE:=$2}
: ${DATE_FORMAT:=%Y-%m-%d}
date=
[ -n "${FILE}" ] || {
echo >&2 "$0 $(dirname "$0")/file [$(dirname "$0")/file.date [DEFAULT_DATE]]"
exit 1
}
[ -f "${DATE_FILE}" ] && date="$(cat "${DATE_FILE}")"
[ -n "${date}" ] ||
date="$(git log -n 1 --format=format:%cD --no-patch "${FILE}")"
[ -n "${date}" ] || year="${DEFAULT_DATE}"
[ -n "${date}" ] || date="$(date -u)"
[ -n "${date}" ] || {
echo >&2 'Undefined date.'
exit 1
}
exec printf "%s" $(date "+${DATE_FORMAT}" -d "${date}")
|