Dmitry V. Levin
92e347b556
We do our best to keep copyright headers up to date, yet git history provides better information on this subject and is more accurate than copyright headers.
48 lines
905 B
Bash
Executable File
48 lines
905 B
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Copyright (c) 2017-2018 The strace developers.
|
|
# All rights reserved.
|
|
#
|
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
|
|
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}
|
|
LC_TIME=C; export LC_TIME
|
|
|
|
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 -s -n 1 --format=format:%cD "${FILE}")"
|
|
|
|
[ -n "${date}" ] ||
|
|
date="${DEFAULT_DATE}"
|
|
|
|
[ -n "${date}" ] ||
|
|
[ -z "${SOURCE_DATE_EPOCH-}" ] ||
|
|
date="$(date -u -d "@${SOURCE_DATE_EPOCH}")"
|
|
|
|
[ -n "${date}" ] ||
|
|
date="$(date -u)"
|
|
|
|
[ -n "${date}" ] || {
|
|
echo >&2 'Undefined date.'
|
|
exit 1
|
|
}
|
|
|
|
exec printf "%s" $(date -u "+${DATE_FORMAT}" -d "${date}")
|