shellcheck fixes

This commit is contained in:
David O'Trakoun 2016-08-19 12:07:05 -04:00
parent 23b27d75e5
commit c46dd14ac2
No known key found for this signature in database
GPG key ID: 10BABFF393314390
2 changed files with 30 additions and 29 deletions

View file

@ -1,4 +1,4 @@
# git-my v1.1.0
# git-my
Lists all of a user's branches, including local and remote, and shows:
@ -7,7 +7,7 @@ Lists all of a user's branches, including local and remote, and shows:
- if a local branch is up-to-date with a specified branch
| Name | Link |
| ---- | ---- |
| ------------- | -------- |
| Project Home: | [https://github.com/davidosomething/git-my](https://github.com/davidosomething/git-my)
## About

53
git-my
View file

@ -1,6 +1,6 @@
#!/usr/bin/env bash
# git-my v1.1.0
# git-my v1.1.1
#
# Lists a user's remote branches and shows if it was merged
# and/or available locally
@ -13,19 +13,19 @@
set -eu
# _check_in_repository
# is_repository
#
# Exits with error if not a git repository
#
_check_in_repository() {
is_repository() {
git rev-parse --git-dir >/dev/null 2>&1
}
# _get_local_branches
# get_local_branches
#
# Proper way to get a porcelain list of local branches for shell script use
#
_get_local_branches() {
get_local_branches() {
local fmt
local cmd_get_local_branches
@ -42,13 +42,13 @@ _get_local_branches() {
eval "$cmd_get_local_branches"
}
# _get_everyones_remotes
# get_everyones_remotes
#
# Get porcelain list of all remote branches
#
# @TODO support remote_name (currently origin)
#
_get_everyones_remotes() {
get_everyones_remotes() {
local fmt
local cmd_everyones_remotes
@ -71,12 +71,12 @@ _get_everyones_remotes() {
eval "$cmd_everyones_remotes"
}
# _get_merged_remote_branches
# get_merged_remote_branches
#
# @param string optional remote to list merged branches of. Defaults to
# "origin/master"
# @output names of remote branches that are merged into given branch
_get_merged_remote_branches() {
get_merged_remote_branches() {
local remote
local remote_name
#local remote_refname
@ -103,12 +103,12 @@ _get_merged_remote_branches() {
echo "$stripped_branchnames"
}
# _filter_mine
# filter_mine
#
# @param git_user
# @param branchnames
# @output branchnames owned by current git user
_filter_mine() {
filter_mine() {
local git_user
local branchnames
git_user=$1
@ -122,13 +122,13 @@ _filter_mine() {
echo "$my_remotes" | grep -v "HEAD" | awk -F'\t' '{ print $2 }'
}
# _merge_lists
# merge_lists
#
# Convert two lists to bash arrays, merge them, sort them
#
# @param list1
# @param list2
_merge_lists() {
merge_lists() {
local l1
local l2
l1=$(echo "$1" | awk '{$1=$1};1')
@ -145,14 +145,14 @@ _merge_lists() {
echo "${intersect[@]}"
}
# _decorate_merged
# decorate_merged
#
# @param string my_branches list of remote branch names owned by me
# @param string local_branches list of local branch names
# @param string merged_remote_branches list of all remote branch names merged
# into another branch
# @output table of branch names and status
_decorate_merged() {
decorate_merged() {
local my_branches
readarray -t my_branches <<< "$(echo "$1" | tr ' ' '\n' )"
@ -201,11 +201,11 @@ _decorate_merged() {
"$is_local" "$is_tracked" "$is_merged" "$branchname")
if [ $zebra = 0 ]; then
echo -en ${normal}
echo -en "${normal}"
printf "\e[48;5;0m%s %s\n" "$decorated" "$clreol"
zebra=1
else
echo -en ${normal}
echo -en "${normal}"
printf "\e[48;5;236m%s %s" "$decorated" "$clreol"
if [[ "$i" != "$last" ]]; then printf "\n"; fi
zebra=0
@ -215,13 +215,14 @@ _decorate_merged() {
printf "\e[48;5;0m\n"
}
_main() {
main() {
local decorated
local everyones_remotes
local git_remote
local git_user
local local_branches
local merged_remote_branches
local my_branches
local my_remotes
local remote=${1:-"origin/master"}
@ -233,11 +234,11 @@ _main() {
git_user=$(git config --get user.name)
git_remote=$(git config --get "remote.${remote_name}.url")
everyones_remotes=$(_get_everyones_remotes "$remote_name")
my_remotes=$(_filter_mine "$git_user" "$everyones_remotes")
merged_remote_branches=$(_get_merged_remote_branches "$remote_name/$remote_ref")
local_branches=$(_get_local_branches)
my_branches=$(_merge_lists "$my_remotes" "$local_branches")
everyones_remotes=$(get_everyones_remotes "$remote_name")
my_remotes=$(filter_mine "$git_user" "$everyones_remotes")
merged_remote_branches=$(get_merged_remote_branches "$remote_name/$remote_ref")
local_branches=$(get_local_branches)
my_branches=$(merge_lists "$my_remotes" "$local_branches")
echo
echo "branches owned by user: $git_user"
@ -245,15 +246,15 @@ _main() {
echo "in remote repository: $git_remote"
echo
_decorate_merged "$my_branches" "$local_branches" "$merged_remote_branches"
decorate_merged "$my_branches" "$local_branches" "$merged_remote_branches"
echo
}
if ! _check_in_repository ; then
if ! is_repository; then
echo "This is not a git repository."
exit 1
fi
_main "$@"
main "$@"