From fe1abd055998e171b92d0e42df8063cab83a40ed Mon Sep 17 00:00:00 2001 From: Malfurious Date: Tue, 24 Oct 2023 22:05:05 -0400 Subject: acid: Don't use 'cychedelic' in file names As I add new components to the cychedelic system, it would be best to use more specific naming. 'cychedelic' is the name of the project, whereas 'acid' is the name of this program. Signed-off-by: Malfurious --- acid/cyche-source | 71 ------------------------------------------------------- 1 file changed, 71 deletions(-) delete mode 100755 acid/cyche-source (limited to 'acid/cyche-source') diff --git a/acid/cyche-source b/acid/cyche-source deleted file mode 100755 index 7dca756..0000000 --- a/acid/cyche-source +++ /dev/null @@ -1,71 +0,0 @@ -#!/bin/bash - -# cyche-source -# -# Check a git source for new updates. A local cache repository is cloned if -# doesn't exist. If updates are found, we attempt to checkout the newest -# version according to (see from git-for-each-ref(1)). -# -# On a successful run, the new object hash is printed to stdout (or the previous -# hash, if no update occurred). This may be a commit hash. However, if -# matches an annotated tag, then the hash refers to the tag object. -# The caller should cache this hash value upon successful deployment. -# -# If a new version of the file tree is checked out, this file exits with code 1, -# otherwise a stale success exits with 0. On any error, no hash is printed, and -# we exit with 2. - -gethash() { - git for-each-ref \ - --count=1 \ - --format='%(objectname)' \ - --sort='-creatordate' \ - "$1" # pattern -} - -cd '/services' - -# For , limit to a-z, 0-9, -, _ -if ! echo "$1" | grep -Eq '^[-_a-z0-9]*$'; then - echo "Bad service name: $1" >&2 - exit 2 -fi - -if ! [ -d "$1" ]; then - git clone "$2" "$1" >&2 || exit 2 - touch "$1/.git/previous_hash" - touch "$1/.git/previous_slug" -fi - -cd "$1" - -git remote set-url origin "$2" >&2 # pick up url changes -git fetch --all --prune >&2 || exit 2 - -prev=$(cat '.git/previous_hash') -next=$(gethash "$3") - -if [ -z "$next" ]; then - echo "No refs match $3" >&2 - exit 2 -fi - -echo "$next" - -if [ "$prev" != "$next" ]; then - # update file tree - git submodule deinit --all --force >/dev/null 2>&1 - git reset . >/dev/null 2>&1 - git checkout . >/dev/null 2>&1 - git clean -xffd >/dev/null 2>&1 - - git checkout "$next" >/dev/null 2>&1 - git submodule update --init --recursive >&2 - - echo -n "Checked out " >&2 - git log -1 --oneline --no-abbrev-commit --no-decorate >&2 - - exit 1 -fi - -exit 0 -- cgit v1.2.3