introduced .scripts folder

This commit is contained in:
2021-12-25 15:19:20 +01:00
parent 1c870a2910
commit 5b1246bb6d
4 changed files with 158 additions and 24 deletions
+1
View File
@@ -333,6 +333,7 @@ bindsym Ctrl+Alt+l exec light-locker-command -l
exec_always --no-startup-id $HOME/.config/polybar/launch.sh
exec --no-startup-id nitrogen --restore; sleep 1; picom --config ~/.config/picom/picom.conf
exec --no-startup-id xfce4-power-manager
exec --no-startup-id light-locker
exec --no-startup-id flameshot
exec --no-startup-id nextcloud
exec --no-startup-id mullvad-vpn
@@ -0,0 +1,154 @@
#!/bin/bash
function is_git {
# check if current folder is git repository
git_check_command=$(git -C $1 rev-parse > /dev/null 2>&1)
if [[ $? != 0 ]]; then
return 0
fi
return 1
}
function get_current_branch {
echo $(git branch | grep "*" | awk '{print $NF}')
}
function get_auto_save_branches {
auto_save_branches_raw=`git branch | grep "git_auto_save" | tail -1 | awk '{print $FN}'`
auto_save_branches=()
for i in "${$auto_save_branches_raw[@]}"
do
echo ${git_auto_save_branches_raw[i]}
#auto_save_branches+=${git_auto_save[i]}
done
echo $auto_save_branches
}
function git_auto_save {
if [[ $(is_git ".") -ne 0 ]]; then
echo "Current dir is not a git repository."
return 1
fi
current_branch_name=$(get_current_branch)
timestamp=`date +%Y_%m_%d_%H_%M_%S`
new_branch_name="git_auto_save/$HOST/$timestamp"
# check if there is unsaved work
changes=`git status --ignore-submodules=dirty | grep -E 'modified|deleted|new'`
if [[ ! $changes ]]; then
echo "No changes found."
return
fi
# stash changes
echo "Stashing changes..."
git stash > /dev/null 2>&1
# create new branch
echo "Creating new branch $new_branch_name..."
git checkout -b $new_branch_name > /dev/null 2>&1
git push origin $new_branch_name > /dev/null 2>&1
# apply stashed changes
echo "Applying stash to new branch..."
git stash apply > /dev/null 2>&1
# add changed files
echo "Adding new/changed files..."
git add -u > /dev/null 2>&1
# commit changes
echo "Commiting changes..."
git commit -m "git autosave from $timestamp" > /dev/null 2>&1
# push changes
echo "Pushing changes..."
git push --set-upstream origin $new_branch_name > /dev/null 2>&1
# move back to initial branch
echo "Moving back to previous branch..."
git checkout $current_branch_name > /dev/null 2>&1
echo "Done."
}
function remove_auto_save {
if [[ $(is_git ".") -ne 0 ]]; then
echo "Current dir is not a git repository."
return 1
fi
echo "Looking for auto-save branches..."
if [[ $1 ]]; then
auto_save_branch=$1
else
auto_save_branch=`git branch | grep "git_auto_save" | head -1 | awk '{print $FN}'`
fi
if [[ ! $auto_save_branch ]]; then
echo "No auto-save branch found."
return 1
fi
auto_save_branch=${auto_save_branch:2}
echo "Auto-save branch found: $auto_save_branch"
current_branch=$(get_current_branch)
# if on autosave branch, move to master
if [[ $current_branch == $auto_save_branch ]]; then
echo "Currently on autosave path, moving to Master"
git checkout master
fi
# remove local branch
echo "Deleting local branch..."
git branch -d $auto_save_branch > /dev/null 2>&1
# remove remote branch
echo "Deleting remote branch..."
git push origin --delete $auto_save_branch > /dev/null 2>&1
return 0
}
function remove_all_auto_saves {
if [[ $(is_git ".") -ne 0 ]]; then
echo "Current dir is not a git repository."
return 1
fi
if [[ $1 != "y" ]]; then
echo "Please confirm with 'y'"
return
fi
# remove all auto save branches
while [[ 1 ]]; do
if ! remove_auto_save; then
break
fi
echo "Auto-Save removed."
done
echo "All auto-saves removed."
}
function load_last_auto_save {
auto_save_branches=$(get_auto_save_branches)
echo $auto_save_branches
}
+3
View File
@@ -0,0 +1,3 @@
function update_time {
timedatectl set-timezone "$(curl --fail https://ipapi.co/timezone)"
}
-24
View File
@@ -1,24 +0,0 @@
#!/bin/bash
custom_func_dir=$HOME/.config/custom_shell_functions
for f in $custom_func_dir/*; do source $f; done
function connectToStorageVM() {
ssh alex@173.212.206.52
}
function connectToVM01() {
ssh alex@167.86.117.202
}
function connectToBackupServer() {
ssh alex@161.97.184.228
}
function connectToPi() {
ssh alex@192.168.0.205
}
function activate() {
source ./venv/bin/activate
}