mirror of
https://blitiri.com.ar/repos/chasquid
synced 2025-12-17 14:37:02 +00:00
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.
28 lines
586 B
Bash
Executable File
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
|