git_update_all_branches.sh: added last branch checkout + logical percentage fix

This commit is contained in:
Oliver Schraml 2018-04-25 11:51:27 +02:00 committed by suchademon
parent 7161bf0530
commit 4cbd6e1b7a
Signed by: oliver.schraml
GPG Key ID: A55864B79D0D0228
1 changed files with 41 additions and 5 deletions

View File

@ -1,12 +1,48 @@
#!/bin/bash
branchges=$(git br -a | grep remotes | grep -v "remotes/origin/HEAD" | wc -l)
branchcounter=0
activebranch="$(git branch | grep "\*" | awk '{print $2}')"
echo "============= GIT UPDATE BRANCHES ============="
PUT(){ echo -en "\033[${1};${2}H";}
DRAW(){ echo -en "\033%";echo -en "\033(0";}
WRITE(){ echo -en "\033(B";}
HIDECURSOR(){ echo -en "\033[?25l";}
NORM(){ echo -en "\033[?12l\033[?25h";}
function showBar {
percDone=$(echo 'scale=2;'$1/$2*100 | bc)
halfDone=$(echo $percDone/2 | bc) #I prefer a half sized bar graph
barLen=$(echo ${percDone%'.00'})
halfDone=`expr $halfDone + 6`
tput bold
PUT 6 28; printf "%4.4s " $barLen% #Print the percentage
PUT 5 $halfDone; echo -e "\033[7m \033[0m" #Draw the bar
PUT 4 15; printf "%8.8s " "$3" #Print the percentage
PUT 4 40; printf "%8.8s " "$4" #Print the percentage
tput sgr0
}
# Start Script
clear
HIDECURSOR
echo -e ""
echo -e ""
echo -e " GIT UPDATE BRANCHES IS RUNNING"
DRAW #magic starts here - must use caps in draw mode
echo -e " lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk"
echo -e " x x"
echo -e " mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj"
WRITE
for f in $(git br -a | grep remotes | grep -v "remotes/origin/HEAD" | awk '{print $1}' | cut -f3 -d\/)
do
echo "Updateing: ${f}"
git checkout "${f}" --quiet && git pull --rebase origin "${f}" --quiet
#echo "Updateing[${branchcounter}/${branchges}]: ${f}"
showBar ${branchcounter} ${branchges} ${f} "[$((${branchcounter} + 1))/${branchges}]" #Call bar drawing function "showBar"
git checkout "${f}" --quiet && git pull --rebase origin "${f}" --quiet >/dev/null 2>&1
branchcounter=$((${branchcounter} + 1))
#showBar ${branchcounter} ${branchges} ${f} "[$((${branchcounter} + 1))/${branchges}]" #Call bar drawing function "showBar"
done
showBar ${branchcounter} ${branchges} ${f} "[${branchcounter}/${branchges}]" #Call bar drawing function "showBar"
git checkout "${activebranch}" --quiet
echo "==========================================="
PUT 10 12
echo -e ""
NORM