added presets
This commit is contained in:
@@ -167,8 +167,25 @@ cmd_rollback() {
|
||||
write_status rollback_done "откат выполнен"
|
||||
}
|
||||
|
||||
cmd_remove() {
|
||||
local name="$1"
|
||||
[[ "$name" =~ ^[A-Za-z0-9._-]+$ ]] || { echo "invalid version name" >&2; exit 1; }
|
||||
local dest="$VERSIONS/$name"
|
||||
[ -d "$dest" ] || { echo "version not found" >&2; exit 1; }
|
||||
local cur prev target
|
||||
cur="$(readlink -f "$CURRENT" 2>/dev/null || true)"
|
||||
prev=""
|
||||
[ -s "$PREV_MARK" ] && prev="$(readlink -f "$(cat "$PREV_MARK")" 2>/dev/null || true)"
|
||||
target="$(readlink -f "$dest")"
|
||||
[ -n "$cur" ] && [ "$target" = "$cur" ] && { echo "cannot remove active version" >&2; exit 1; }
|
||||
[ -n "$prev" ] && [ "$target" = "$prev" ] && { echo "cannot remove rollback target" >&2; exit 1; }
|
||||
rm -rf "$dest"
|
||||
echo "removed $name"
|
||||
}
|
||||
|
||||
case "${1:-}" in
|
||||
stage) [ "$#" -ge 2 ] || { echo "usage: bt-update stage <pkg>"; exit 2; }; cmd_stage "$2" ;;
|
||||
rollback) cmd_rollback ;;
|
||||
*) echo "usage: bt-update {stage <pkg>|rollback}"; exit 2 ;;
|
||||
remove) [ "$#" -ge 2 ] || { echo "usage: bt-update remove <name>"; exit 2; }; cmd_remove "$2" ;;
|
||||
*) echo "usage: bt-update {stage <pkg>|rollback|remove <name>}"; exit 2 ;;
|
||||
esac
|
||||
|
||||
Reference in New Issue
Block a user