1
0
Fork 0
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

77 lines
2.0 KiB

#!/bin/bash
. ~/.bash_aliases-common
if [[ -f ~/.bash_tools ]]; then
. ~/.bash_tools
fi
auto_tmux
function tmux_start_branch() {
(
set -o errexit
set -o nounset
set -o pipefail
branch=${1:?}
tmux -2 new-window -a -t "Main Screen:1" -c ~ -e BRANCH_NAME="$branch" 'bash -ic "start_branch \"\$BRANCH_NAME\"; exec bash"'
)
}
function start_branch() {
branch=${1:?}
(
set -o errexit
set -o nounset
set -o pipefail
if [[ ! -d ~/branches/"$branch" ]]; then
printf "=== Setting up a branch named ${branch}...\n"
cd ~/equalizer.git || exit 1
printf "=== Retrieving the latest data from the repository...\n"
git fetch --all || exit 1
printf "=== Creating the branch 'feature/${branch}' from develop_front and checking it out in a new working tree at ~/branches/${branch}...\n"
git worktree add -b "feature/${branch}" ~/branches/"${branch}" develop_front || git worktree add ~/branches/"${branch}" "feature/${branch}" || exit 1
else
printf "=== Accessing an existing branch named ${branch}...\n"
fi
cd ~/branches/"${branch}" || exit 1
update_branch || exit 1
printf "\a=== Your new branch ${branch} is ready!\n"
) && \
cd ~/branches/"${branch}"
}
function update_branch() {
(
set -o errexit
set -o nounset
set -o pipefail
printf "=== Updating the branch...\n"
git fetch --all || exit 1
git pull --rebase || exit 1
git rebase --interactive develop_front
printf "=== Updating the dependencies...\n"
install_equalizer_deps
)
}
function install_equalizer_deps() {
(
set -o errexit
set -o nounset
set -o pipefail
printf "Installing Ruby dependencies...\n"
bundle install
printf "Installing Javascript dependencies...\n"
printf "Installing in top level...\n"
yarn install
printf "Installing in widget...\n"
pushd widget
yarn install
yarn build
popd
printf "Installing in front...\n"
pushd front
yarn install
)
}