mirror of
https://github.com/dw-0/kiauh.git
synced 2025-12-12 18:14:28 +05:00
105 lines
3.8 KiB
Bash
Executable File
105 lines
3.8 KiB
Bash
Executable File
save_klipper_state(){
|
|
source_ini
|
|
#read current klipper state
|
|
cd $KLIPPER_DIR
|
|
COMMIT_STATE=$(git rev-parse --short HEAD)
|
|
if [ "$GET_BRANCH" = "origin/master" ]; then
|
|
ORI_OLD=$previous_origin_state
|
|
ORI_NEW=$COMMIT_STATE
|
|
sed -i "/previous_origin_state=/s/$ORI_OLD/$ORI_NEW/" $INI_FILE
|
|
elif [ "$GET_BRANCH" = "origin" ]; then
|
|
ORI_OLD=$previous_origin_state
|
|
ORI_NEW=$COMMIT_STATE
|
|
sed -i "/previous_origin_state=/s/$ORI_OLD/$ORI_NEW/" $INI_FILE
|
|
elif [ "$GET_BRANCH" = "dmbutyugin/scurve-shaping" ]; then
|
|
SHA_OLD=$previous_shaping_state
|
|
SHA_NEW=$COMMIT_STATE
|
|
sed -i "/previous_shaping_state=/s/$SHA_OLD/$SHA_NEW/" $INI_FILE
|
|
elif [ "$GET_BRANCH" = "dmbutyugin/scurve-smoothing" ]; then
|
|
SMO_OLD=$previous_smoothing_state
|
|
SMO_NEW=$COMMIT_STATE
|
|
sed -i "/previous_smoothing_state=/s/$SMO_OLD/$SMO_NEW/" $INI_FILE
|
|
elif [ "$GET_BRANCH" = "Arksine/work-web_server-20200131" ]; then
|
|
WWS_OLD=$previous_moonraker_state
|
|
WWS_NEW=$COMMIT_STATE
|
|
sed -i "/previous_moonraker_state=/s/$WWS_OLD/$WWS_NEW/" $INI_FILE
|
|
elif [ "$GET_BRANCH" = "Arksine/dev-moonraker-testing" ]; then
|
|
DMT_OLD=$previous_dev_moonraker_state
|
|
DMT_NEW=$COMMIT_STATE
|
|
sed -i "/previous_dev_moonraker_state=/s/$DMT_OLD/$DMT_NEW/" $INI_FILE
|
|
fi
|
|
}
|
|
|
|
load_klipper_state(){
|
|
source_ini
|
|
print_branch
|
|
cd $KLIPPER_DIR
|
|
CURRENT_COMMIT=$(git rev-parse --short=8 HEAD)
|
|
if [ "$GET_BRANCH" = "origin/master" ] || [ "$GET_BRANCH" = "origin" ]; then
|
|
PREVIOUS_COMMIT=$previous_origin_state
|
|
elif [ "$GET_BRANCH" = "dmbutyugin/scurve-shaping" ]; then
|
|
PREVIOUS_COMMIT=$previous_shaping_state
|
|
elif [ "$GET_BRANCH" = "dmbutyugin/scurve-smoothing" ]; then
|
|
PREVIOUS_COMMIT=$previous_smoothing_state
|
|
elif [ "$GET_BRANCH" = "Arksine/work-web_server-20200131" ]; then
|
|
PREVIOUS_COMMIT=$previous_moonraker_state
|
|
elif [ "$GET_BRANCH" = "Arksine/dev-moonraker-testing" ]; then
|
|
PREVIOUS_COMMIT=$previous_dev_moonraker_state
|
|
fi
|
|
CURRENT_COMMIT_DATE=$(git show -s --format=%cd --date=short $CURRENT_COMMIT)
|
|
if [ "$PREVIOUS_COMMIT" != "0" ]; then
|
|
PREVIOUS_COMMIT_DATE=$(git show -s --format=%cd --date=short $PREVIOUS_COMMIT)
|
|
fi
|
|
if [ "$PREVIOUS_COMMIT" = "0" ]; then
|
|
CURR_UI=$(echo -e "${green}$CURRENT_COMMIT from $CURRENT_COMMIT_DATE${default}")
|
|
PREV_UI=$(echo -e "${red}None${default} ")
|
|
else
|
|
if [ "$CURRENT_COMMIT" = "$PREVIOUS_COMMIT" ]; then
|
|
CURR_UI=$(echo -e "${green}$CURRENT_COMMIT from $CURRENT_COMMIT_DATE${default}")
|
|
PREV_UI=$(echo -e "${green}$PREVIOUS_COMMIT from $PREVIOUS_COMMIT_DATE${default}")
|
|
else
|
|
CURR_UI=$(echo -e "${yellow}$CURRENT_COMMIT from $CURRENT_COMMIT_DATE${default}")
|
|
PREV_UI=$(echo -e "${yellow}$PREVIOUS_COMMIT from $PREVIOUS_COMMIT_DATE${default}")
|
|
fi
|
|
fi
|
|
rollback_ui
|
|
rollback_klipper
|
|
}
|
|
|
|
rollback_klipper(){
|
|
if [ "$PREVIOUS_COMMIT" != "0" ] && [ "$CURRENT_COMMIT" != "$PREVIOUS_COMMIT" ]; then
|
|
while true; do
|
|
echo -e "${cyan}"
|
|
read -p "###### Do you want to rollback to $PREVIOUS_COMMIT? (Y/n): " yn
|
|
echo -e "${default}"
|
|
case "$yn" in
|
|
Y|y|Yes|yes|"")
|
|
clear
|
|
print_header
|
|
status_msg "Rolling back to $PREVIOUS_COMMIT ..."
|
|
git reset --hard $PREVIOUS_COMMIT -q
|
|
ok_msg "Rollback complete!"; echo
|
|
load_klipper_state
|
|
break;;
|
|
N|n|No|no) clear; advanced_menu; break;;
|
|
Q|q) clear; advanced_menu; break;;
|
|
esac
|
|
done
|
|
else
|
|
while true; do
|
|
echo -e "${cyan}"
|
|
read -p "Perform action: " action; echo
|
|
echo -e "${default}"
|
|
case "$action" in
|
|
Q|q)
|
|
clear; advanced_menu; break;;
|
|
*)
|
|
clear
|
|
print_header
|
|
print_unkown_cmd
|
|
print_msg && clear_msg
|
|
rollback_ui;;
|
|
esac
|
|
done
|
|
fi
|
|
} |