#!/bin/bash # shellcheck disable=SC2002 set -eu set -o pipefail IFS=$'\n\t' # print useful message on failure trap 's=$?; echo >&2 "$0: Error on line "$LINENO": $BASH_COMMAND"; exit $s' ERR # shellcheck disable=SC2034 DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" cd "$DIR" # - Check if the file .diachron-version exists; save its value in a variable # named old_diachron_version # - Check if the repository is dirty; if there are any files that git knows # about that have been changed but not committed, abort with a message # - Get the current commit and store it in a variable # - Perform a two checkouts of # https://gitea.philologue.net/philologue/diachron, each in its own # temporary directory. We'll call one "old" and one "new" # - In old, check out $old_diachron_version; in our working application # directory, delete all of the files in file-list using git rm # - In new, check out whatever was passed as argv[1] # - Copy all of the files in file-list to the working application and stage # them with git add # - Commit # - Should we run sync.sh or should we advise the user to run sync.sh?