Add the load-branch command from desktop env project env-ansible.
This commit is contained in:
63
bashrc.sh
63
bashrc.sh
@@ -77,6 +77,69 @@ function check-code {
|
|||||||
}
|
}
|
||||||
alias code-check="check-code"
|
alias code-check="check-code"
|
||||||
|
|
||||||
|
# Pulled from /me/env-ansible, need to make a shared library between it and Termux.
|
||||||
|
# Change a branch to point at another.
|
||||||
|
function load-branch {
|
||||||
|
rcvr="$1" # branch which we want to modify
|
||||||
|
base="$2" # branch with the changes we want
|
||||||
|
|
||||||
|
if [[ "$rcvr" == "main" ]]; then
|
||||||
|
echo "*** ERROR: Are you nuts, fool!? Not main! Do it manually! ***"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z "$base" ]]; then
|
||||||
|
if [[ "$rcvr" == "prod" ]]; then
|
||||||
|
base="stage"
|
||||||
|
elif [[ "$rcvr" == "stage" ]]; then
|
||||||
|
base="dev"
|
||||||
|
else
|
||||||
|
echo "* Unsure which branch to use for '$rcvr'. Please specify."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
echo "* Base was not specified, using '$base' for '$rcvr'."
|
||||||
|
else
|
||||||
|
echo "* Requested pointing '$rcvr' branch to '$base'."
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -e "\n* Ensuring we are on base branch '$base'." &&
|
||||||
|
git switch "$base" &&
|
||||||
|
echo -e "\n* Changing pointer for '$rcvr' to '$base'." &&
|
||||||
|
git branch -f "$rcvr" "$base" &&
|
||||||
|
#echo -e "\n* Switching to branch '$rcvr'." &&
|
||||||
|
#git switch "$rcvr" &&
|
||||||
|
echo -e "\n* Forcing push on branch '$rcvr'." &&
|
||||||
|
git push --force --set-upstream origin "$rcvr" &&
|
||||||
|
echo -e "\n* Done! Displaying list of remote branches." &&
|
||||||
|
git ls-remote --heads | sort
|
||||||
|
|
||||||
|
if [[ "$base" != "dev" ]]; then
|
||||||
|
echo -e "\n* Checking if a dev branch exists."
|
||||||
|
git ls-remote --exit-code --heads origin dev
|
||||||
|
dev_exists="$?"
|
||||||
|
if [[ "$dev_exists" == 0 ]]; then
|
||||||
|
echo -e "\n* Switching back to dev."
|
||||||
|
git switch dev
|
||||||
|
elif [[ "$dev_exists" == 2 ]]; then
|
||||||
|
echo -e "\n* Switching back to main."
|
||||||
|
git switch main
|
||||||
|
else
|
||||||
|
echo "*** ERROR: Unknown status for dev_exists, '$dev_exists'. ***"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -e "\n* Verifying which branch we're on."
|
||||||
|
git branch
|
||||||
|
}
|
||||||
|
alias load-prod="load-branch prod"
|
||||||
|
alias load-stage="load-branch stage"
|
||||||
|
alias rollback-prod="load-branch prod main"
|
||||||
|
alias rollback-stage="load-branch stage prod"
|
||||||
|
alias rollback-dev="load-branch dev stage"
|
||||||
|
alias reset-prod="load-branch prod main"
|
||||||
|
alias reset-stage="load-branch stage main"
|
||||||
|
alias reset-dev="load-branch dev main"
|
||||||
|
|
||||||
# Shortcuts for TRASH.
|
# Shortcuts for TRASH.
|
||||||
export TRASH="$SS/TRASH"
|
export TRASH="$SS/TRASH"
|
||||||
alias trash="cd $TRASH"
|
alias trash="cd $TRASH"
|
||||||
|
|||||||
Reference in New Issue
Block a user