From 58eccfa3f1f94f5b288a561bdb5fd482471737c0 Mon Sep 17 00:00:00 2001 From: Petr Baudis Date: Sun, 3 Aug 2008 19:43:07 +0200 Subject: [PATCH] tg-info.sh: Show missing dependencies (needs_update() enhancement) needs_update() now verifies if the _dep refs exists and adds it to a $missing_deps list if that's not the case. --- tg-info.sh | 4 ++++ tg.sh | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/tg-info.sh b/tg-info.sh index 2a6fd44..c95677f 100644 --- a/tg-info.sh +++ b/tg-info.sh @@ -42,7 +42,11 @@ deps="$(git cat-file blob "$name:.topdeps" | paste -s -d' ')" echo "Depends: $deps" depcheck="$(mktemp)" +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" | diff --git a/tg.sh b/tg.sh index e27ff30..ee14e62 100644 --- a/tg.sh +++ b/tg.sh @@ -85,11 +85,19 @@ branch_contains() # to the branch (e.g. B_DIRTY B1 B2 NAME), one path per line, # inner paths first. Innermost name can be ':' if the head is # not in sync with the base. +# If needs_update() hits missing dependencies, it will append +# them to space-separated $missing_deps list and skip them. needs_update() { { git cat-file blob "$1:.topdeps" 2>/dev/null | while read _dep; do + if !git rev-parse --verify "$_dep" >/dev/null 2>&1; then + # All hope is lost + missing_deps="$missing_deps $_dep" + continue + fi + _dep_is_tgish=1 git rev-parse --verify "refs/top-bases/$_dep" >/dev/null 2>&1 || _dep_is_tgish= -- 2.30.2