Show overview of all TopGit-tracked topic branches and their
up-to-date status ('0' marks that it introduces no own changes,
'D' marks that it is out-of-date wrt. its dependencies,
+ '!' marks that it has missing dependencies (even recursively),
'B' marks that it is out-of-date wrt. its base).
TODO: Speed up by an order of magnitude
git for-each-ref refs/top-bases |
while read rev name ref; do
name="${ref#refs/top-bases/}"
+ missing_deps=
nonempty=
! branch_empty "$name" || nonempty='0'
deps_update=' '
needs_update "$name" >/dev/null || deps_update='D'
+ deps_missing=' '
+ [ -z "$missing_deps" ] || deps_missing='!'
base_update=' '
branch_contains "$name" "refs/top-bases/$name" || base_update='B'
subject="(No commits)"
fi
- printf '%s%s%s\t%-31s\t%s\n' "$nonempty" "$deps_update" "$base_update" \
+ printf '%s%s%s%s\t%-31s\t%s\n' "$nonempty" "$deps_update" "$deps_missing" "$base_update" \
"$name" "$subject"
done