63 lines
1.1 KiB
Bash
Executable File
63 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
SHELL_PREFIX="[FAAS-CLI]"
|
|
# Shell Base Script
|
|
set -e
|
|
|
|
c_red="\033[38;5;1m"
|
|
c_blue="\033[38;5;4m"
|
|
c_green="\033[38;5;2m"
|
|
c_reset="\033[0m"
|
|
c_yellow="\033[38;5;3m"
|
|
|
|
c_prefix="${c_blue}${SHELL_PREFIX}>>${c_reset}"
|
|
|
|
dateStr() {
|
|
echo -e "[$(date '+%H:%M:%S')]"
|
|
}
|
|
|
|
info() {
|
|
echo -e "${c_prefix}$(dateStr) ${*}"
|
|
}
|
|
|
|
warn() {
|
|
echo -e "${c_prefix}$(dateStr) ${c_yellow}${*}${c_reset}"
|
|
}
|
|
|
|
error() {
|
|
echo -e "${c_prefix}$(dateStr) ${c_red}${*}${c_reset}"
|
|
}
|
|
#====================
|
|
cd $(dirname $0)
|
|
|
|
# User Input Variable
|
|
action=
|
|
|
|
while [[ $# -gt 0 ]]; do
|
|
case "$1" in
|
|
-a)
|
|
action="$2"
|
|
shift
|
|
;;
|
|
-*)
|
|
echo "Illegal option $1"
|
|
;;
|
|
esac
|
|
shift $(( $# > 0 ? 1 : 0 ))
|
|
done
|
|
|
|
case "${action}" in
|
|
undo)
|
|
hash=$(git log -n 1 --format=format:%H)
|
|
tag=$(git tag -l --contains=${hash})
|
|
if [[ -z "${tag}" ]]; then
|
|
error "last commit not have tag exit..."
|
|
exit 0
|
|
fi
|
|
git reset HEAD^
|
|
git tag -d ${tag}
|
|
git push origin master -f
|
|
git push origin :${tag}
|
|
;;
|
|
esac
|
|
|