This repository has been archived by the owner. It is now read-only.
Permalink
Browse files

Added the --deps option to "tg summary".

The --deps option can be used by scripts that need to know
the dependencies between the topic branches.

Signed-off-by: Per Cederqvist <ceder@lysator.liu.se>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  • Loading branch information...
cederlys authored and ukleinek committed Jul 14, 2010
1 parent 53583f1 commit 5aed7e7bad8c23080139b452adac75d2571b6dfa
Showing with 14 additions and 10 deletions.
  1. +4 −0 README
  2. +10 −10 tg-summary.sh
View
4 README
@@ -358,6 +358,10 @@ tg summary
order. In more complex scenarios, a text graph view would be
much more useful, but that is not yet implemented.
+ The --deps option outputs dependency informations between
+ branches in a machine-readable format. Feed this to "tsort"
+ to get the output from --sort.
+
TODO: Speed up by an order of magnitude
TODO: Text graph view
View
@@ -6,6 +6,7 @@
terse=
graphviz=
sort=
+deps=
## Parse options
@@ -19,22 +20,19 @@ while [ -n "$1" ]; do
graphviz=1;;
--sort)
sort=1;;
+ --deps)
+ deps=1;;
*)
- echo "Usage: tg [...] summary [-t | --sort | --graphviz]" >&2
+ echo "Usage: tg [...] summary [-t | --sort | --deps | --graphviz]" >&2
exit 1;;
esac
done
curname="$(git symbolic-ref HEAD | sed 's#^refs/\(heads\|top-bases\)/##')"
-! [ -n "$terse" -a -n "$graphviz" ] ||
- die "-t and --graphviz options are mutual exclusive"
-
-! [ -n "$sort" -a -n "$graphviz" ] ||
- die "--sort and --graphviz options are mutual exclusive"
-
-! [ -n "$sort" -a -n "$terse" ] ||
- die "-t and --sort options are mutual exclusive"
+[ "$terse$graphviz$sort$deps" = "" ] ||
+ [ "$terse$graphviz$sort$deps" = "1" ] ||
+ die "mutually exclusive options given"
if [ -n "$graphviz" ]; then
cat <<EOT
@@ -76,14 +74,16 @@ git for-each-ref refs/top-bases |
echo "$name"
continue
fi
- if [ -n "$graphviz" ] || [ -n "$sort" ]; then
+ if [ -n "$graphviz$sort$deps" ]; then
git cat-file blob "$name:.topdeps" | while read dep; do
dep_is_tgish=true
ref_exists "refs/top-bases/$dep" ||
dep_is_tgish=false
if ! "$dep_is_tgish" || ! branch_annihilated $dep; then
if [ -n "$graphviz" ]; then
echo "\"$name\" -> \"$dep\";"
+ elif [ -n "$deps" ]; then
+ echo "$name $dep"
else
echo "$name $dep" >&4
fi

0 comments on commit 5aed7e7

Please sign in to comment.