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.

67 lines
1.6 KiB

#!/bin/bash
. ~/.bash_aliases-common
if [[ -f ~/.bash_tools ]]; then
. ~/.bash_tools
fi
auto_tmux
function tmux_start_branch() {
(
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() {
(
set -eu
branch=${1:?}
if [[ ! -d ~/branches/"$branch" ]]; then
printf "=== Setting up a branch named ${branch}...\n"
cd ~/.equalizer
printf "=== Retrieving the latest data from the repository...\n"
git fetch --all
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
else
printf "=== Accessing an existing branch named ${branch}...\n"
fi
cd ~/branches/"${branch}"
update_branch
printf "\a=== Your new branch ${branch} is ready!\n"
) && \
cd ~/branches/"${branch}"
}
function update_branch() {
(
printf "=== Updating the branch...\n"
git fetch --all
git pull --rebase
git rebase --interactive develop_front
printf "=== Updating the dependencies...\n"
install_equalizer_deps
)
}
function install_equalizer_deps() {
(
set -eu
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
)
}