X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=tg-info.sh;h=b5b92f654116c852ddae266cbacb08765a914dfb;hb=1de7298e12110e9688ff16237bd4b33ec5ce8355;hp=2a6fd44353c3b2fac2712e4390cea41da4c0a008;hpb=9d8f7bf17de2da87f61bab43a045fbdb9a5e3a90;p=topgit.git diff --git a/tg-info.sh b/tg-info.sh index 2a6fd44..b5b92f6 100644 --- a/tg-info.sh +++ b/tg-info.sh @@ -12,7 +12,7 @@ while [ -n "$1" ]; do arg="$1"; shift case "$arg" in -*) - echo "Usage: tg info [NAME]" >&2 + echo "Usage: tg [...] info [NAME]" >&2 exit 1;; *) [ -z "$name" ] || die "name already specified ($name)" @@ -28,7 +28,7 @@ measure="$(measure_branch "$name" "$base_rev")" echo "Topic Branch: $name ($measure)" if [ "$(git rev-parse --short "$name")" = "$base_rev" ]; then - echo "No commits." + echo "* No commits." exit 0 fi @@ -36,13 +36,27 @@ git cat-file blob "$name:.topmsg" | grep ^Subject: echo "Base: $base_rev" branch_contains "$name" "$base_rev" || - echo "Base is newer than head! Please run \`tg update\`." + echo "* Base is newer than head! Please run \`$tg update\`." -deps="$(git cat-file blob "$name:.topdeps" | paste -s -d' ')" -echo "Depends: $deps" +if has_remote "$name"; then + echo "Remote Mate: $base_remote/$name" + branch_contains "$base_rev" "refs/remotes/$base_remote/top-bases/$name" || + echo "* Local base is out of date wrt. the remote base." + branch_contains "$name" "refs/remotes/$base_remote/$name" || + echo "* Local head is out of date wrt. the remote head." + branch_contains "refs/remotes/$base_remote/$name" "$name" || + echo "* Local head is ahead of the remote head." +fi + +git cat-file blob "$name:.topdeps" | + sed '1{ s/^/Depends: /; n; }; s/^/ /;' -depcheck="$(mktemp)" -needs_update "$name" >"$depcheck" +depcheck="$(mktemp -t tg-depcheck.XXXXXX)" +missing_deps= +needs_update "$name" >"$depcheck" || : +if [ -n "$missing_deps" ]; then + echo "MISSING: $missing_deps" +fi if [ -s "$depcheck" ]; then echo "Needs update from:" cat "$depcheck" |