|
|
|
#!/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
|
|
|
|
)
|
|
|
|
}
|