Merge branch 'feature/verbose-feature-list' into develop
This commit is contained in:
commit
0a5c7307df
1 changed files with 33 additions and 1 deletions
|
@ -40,6 +40,8 @@ cmd_default() {
|
|||
cmd_list "$@"
|
||||
}
|
||||
|
||||
max() { if [ "$1" -gt "$2" ]; then echo "$1"; else echo "$2"; fi; }
|
||||
|
||||
cmd_list() {
|
||||
DEFINE_boolean verbose 0 'verbose (more) output' v
|
||||
parse_args "$@"
|
||||
|
@ -49,7 +51,37 @@ cmd_list() {
|
|||
warn "No feature branches exist."
|
||||
exit 0
|
||||
fi
|
||||
echo "$FEATURE_BRANCHES" | sed "s?^$PREFIX??g"
|
||||
|
||||
SHORT_NAMES=$(echo "$FEATURE_BRANCHES" | sed "s?^$PREFIX??g")
|
||||
if [ $FLAGS_verbose -eq 0 ]; then
|
||||
echo "$SHORT_NAMES"
|
||||
else
|
||||
# determine column width first
|
||||
width=0
|
||||
for branch in $SHORT_NAMES; do
|
||||
len=$(($(echo "$branch" | wc -c) - 1))
|
||||
width=$(max $width $len)
|
||||
done
|
||||
width=$(($width + 3))
|
||||
|
||||
for branch in $SHORT_NAMES; do
|
||||
fullname="$PREFIX$branch"
|
||||
base=$(git merge-base "$fullname" "$DEVELOP_BRANCH")
|
||||
develop_sha=$(git rev-parse "$DEVELOP_BRANCH")
|
||||
branch_sha=$(git rev-parse "$fullname")
|
||||
printf "%-${width}s" "$branch"
|
||||
if [ "$branch_sha" = "$develop_sha" ]; then
|
||||
printf "(no commits yet)"
|
||||
elif [ "$base" = "$branch_sha" ]; then
|
||||
printf "(is behind develop, may ff)"
|
||||
elif [ "$base" = "$develop_sha" ]; then
|
||||
printf "(based on latest develop)"
|
||||
else
|
||||
printf "(may be rebased)"
|
||||
fi
|
||||
echo
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
cmd_help() {
|
||||
|
|
Loading…
Reference in a new issue