workspace-manager/.workspace-ops/scripts/sync-entry-files.sh

20 lines
632 B
Bash
Executable file

#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
WORKSPACE_ROOT="${1:-$(cd "$SCRIPT_DIR/../.." && pwd)}"
ENTRY_FILES="$WORKSPACE_ROOT/.workspace-ops/config/entry-files.txt"
TEMPLATE="$WORKSPACE_ROOT/.workspace-ops/templates/entry-file.md"
if [[ "$WORKSPACE_ROOT" != "/" ]]; then
WORKSPACE_ROOT="${WORKSPACE_ROOT%/}"
fi
while IFS= read -r entry || [[ -n "$entry" ]]; do
entry="${entry%%#*}"
entry="${entry#"${entry%%[![:space:]]*}"}"
entry="${entry%"${entry##*[![:space:]]}"}"
[[ -z "$entry" ]] && continue
cp "$TEMPLATE" "$WORKSPACE_ROOT/$entry"
done < "$ENTRY_FILES"