20 lines
596 B
Bash
Executable File
20 lines
596 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
TARGET=${1:-}
|
|
CONFIRM=${2:-}
|
|
ORIGINAL=cf3fbdc5ef5799d8abc7e6c1a650612e40ab441b
|
|
if [[ -z "$TARGET" || "$CONFIRM" != "--confirm-original" ]]; then
|
|
echo "usage: $0 TARGET --confirm-original" >&2
|
|
exit 2
|
|
fi
|
|
if [[ ! -d "$TARGET/.git" ]]; then
|
|
echo "target is not a git checkout" >&2
|
|
exit 3
|
|
fi
|
|
git -C "$TARGET" reset --hard "$ORIGINAL" >/dev/null
|
|
git -C "$TARGET" clean -fdx >/dev/null
|
|
echo ROLLBACK_ORIGINAL_COMMIT_RESTORED
|
|
echo ROLLBACK_HEAD=$(git -C "$TARGET" rev-parse HEAD)
|
|
test -z "$(git -C "$TARGET" status --porcelain)"
|
|
echo ROLLBACK_WORKTREE=CLEAN
|