From b63c4da1ec42addca8c25afb0257c41c627caa36 Mon Sep 17 00:00:00 2001 From: "E. S." Date: Thu, 4 Jan 2024 09:29:20 +0300 Subject: [PATCH] use version numbers instead of dates --- release-book.sh | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/release-book.sh b/release-book.sh index 59081e2..32ae958 100755 --- a/release-book.sh +++ b/release-book.sh @@ -8,34 +8,24 @@ fatal() { exit 1 } -get_modification_time() { - file_path="$1" - - if [ ! -e "$file_path" ]; then - fatal "file not found: $file_path" - fi - - mod_time=$(stat -c "%Y" "$file_path") - formatted_mod_time=$(date -d "@$mod_time" "+%Y-%m-%d") - echo "$formatted_mod_time" -} - usage() { - >&2 echo "usage: $0 en|ru" + >&2 echo "usage: $0 en|ru " } -[ $# -ne 2 ] && { usage; exit 1; } +[ $# -ne 3 ] && { usage; exit 1; } INPUT="$1" LANG="$2" +VERSION="$3" case $LANG in en|ru) : ;; *) fatal "invalid language" ;; esac +previous_version=$(( VERSION-1 )) target_file="$FILES_DIR/4in1-$LANG.pdf" -old_date="$(get_modification_time "$INPUT")" +archive_target_file="$ARCHIVE_DIR/4in1-$LANG-update$previous_version.pdf" [ -d "$ARCHIVE_DIR" ] || { mkdir "$ARCHIVE_DIR" @@ -43,5 +33,7 @@ old_date="$(get_modification_time "$INPUT")" chgrp www-data "$ARCHIVE_DIR" } -mv "$target_file" "$ARCHIVE_DIR/4in1-$LANG-$old_date.pdf" +[ -e "$archive_target_file" ] && fatal "invalid version: file \"$archive_target_file\" already exists" + +mv "$target_file" "$archive_target_file" mv "$INPUT" "$target_file" \ No newline at end of file