From 4cbd6e1b7a938aed07f5be3615c8d1ead1ec602a Mon Sep 17 00:00:00 2001 From: suchAdemon Date: Wed, 25 Apr 2018 11:51:27 +0200 Subject: [PATCH] git_update_all_branches.sh: added last branch checkout + logical percentage fix --- git_update_all_branches.sh | 46 +++++++++++++++++++++++++++++++++----- 1 file changed, 41 insertions(+), 5 deletions(-) diff --git a/git_update_all_branches.sh b/git_update_all_branches.sh index fe11eb2..a096066 100755 --- a/git_update_all_branches.sh +++ b/git_update_all_branches.sh @@ -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