1
0
mirror of https://blitiri.com.ar/repos/chasquid synced 2025-12-17 14:37:02 +00:00
Files
go-chasquid-smtp/docs/man/generate.sh
Alberto Bertogli a2fa1d07d1 docs/man: Make generate script use git timestamps
When regenerating the manpages, the mtime of the pod files is used.
That mtime can change based on file and repository manipulations,
because git does not preserve mtimes.

This causes unnecessary regenerations which require manual cleanups in
order to avoid cluttering the history unnecessarily.

This patch makes the generate script set the mtime of the pod files to
the time of the last git commit that affected them, if they have not
changed since. This avoids unnecessary changes and makes the script
easier to use.

There's one file that needed adjustment to match its last commit time,
that is also included here.
2018-07-22 11:11:08 +01:00

28 lines
586 B
Bash
Executable File

#!/bin/bash
#
# Convert pod files to manual pages, using pod2man.
#
# Assumes files are named like:
# <name>.<section>.pod
set -e
for IN in *.pod; do
OUT=$( basename $IN .pod )
SECTION=${OUT##*.}
NAME=${OUT%.*}
# If it has not changed in git, set the mtime to the last commit that
# touched the file.
CHANGED=$( git status --porcelain -- "$IN" | wc -l )
if [ $CHANGED -eq 0 ]; then
GIT_MTIME=$( git log --pretty=%at -n1 -- "$IN" )
touch -d "@$GIT_MTIME" "$IN"
fi
podchecker $IN
pod2man --section=$SECTION --name=$NAME \
--release "" --center "" \
$IN $OUT
done