Merge branch 'DrVanScott-fixMulti'

master
Martin Gondermann 10 years ago
commit 27b87cf7d6
  1. 23
      gitstatus.sh

@ -26,15 +26,26 @@ num_conflicts=0
num_untracked=0 num_untracked=0
while IFS='' read -r line || [[ -n "$line" ]]; do while IFS='' read -r line || [[ -n "$line" ]]; do
status=${line:0:2} status=${line:0:2}
while [[ -n $status ]]; do
case "$status" in case "$status" in
\#\#) branch_line="${line/\.\.\./^}" ;; #two fixed character matches, loop finished
?M) ((num_changed++)) ;;& \#\#) branch_line="${line/\.\.\./^}"; break ;;
?D) ((num_changed++)) ;;& \?\?) ((num_untracked++)); break ;;
U?) ((num_conflicts++)) ;;& U?) ((num_conflicts++)); break;;
\?\?) ((num_untracked++)) ;; ?U) ((num_conflicts++)); break;;
\ ?) ;; DD) ((num_conflicts++)); break;;
AA) ((num_conflicts++)); break;;
#two character matches, first loop
?M) ((num_changed++)) ;;
?D) ((num_changed++)) ;;
?\ ) ;;
#single character matches, second loop
U) ((num_conflicts++)) ;;
\ ) ;;
*) ((num_staged++)) ;; *) ((num_staged++)) ;;
esac esac
status=${status:0:-1}
done
done <<< "$gitstatus" done <<< "$gitstatus"
num_stashed=0 num_stashed=0

Loading…
Cancel
Save