From 530ace6909e31e388089fce341353547730e9e67 Mon Sep 17 00:00:00 2001 From: Petr Baudis Date: Tue, 9 Sep 2008 20:58:19 +0200 Subject: [PATCH] Factor out rev-parse --verify calls to new ref_exists() function --- tg-create.sh | 4 ++-- tg-export.sh | 2 +- tg.sh | 11 +++++++++-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/tg-create.sh b/tg-create.sh index 3f33fa8..dd95e65 100644 --- a/tg-create.sh +++ b/tg-create.sh @@ -51,10 +51,10 @@ fi [ -n "$merge" -o -n "$restarted" ] || merge="$deps " for d in $deps; do - git rev-parse --verify "$d" >/dev/null 2>&1 || + ref_exists "$d" || die "unknown branch dependency '$d'" done -! git rev-parse --verify "$name" >/dev/null 2>&1 || +! ref_exists "$name" || die "branch '$name' already exists" # Clean up any stale stuff diff --git a/tg-export.sh b/tg-export.sh index 62ea4f9..b664d8d 100644 --- a/tg-export.sh +++ b/tg-export.sh @@ -161,7 +161,7 @@ quilt() if [ "$driver" = "collapse" ]; then [ -n "$output" ] || die "no target branch specified" - ! git rev-parse --verify "$output" >/dev/null 2>&1 || + ! ref_exists "$output" || die "target branch '$output' already exists; first run: git branch -D $output" elif [ "$driver" = "quilt" ]; then diff --git a/tg.sh b/tg.sh index 1bc886a..0dcb80e 100644 --- a/tg.sh +++ b/tg.sh @@ -80,6 +80,13 @@ branch_contains() [ -z "$(git rev-list ^"$1" "$2")" ] } +# ref_exists REF +# Whether REF is a valid ref name +ref_exists() +{ + git rev-parse --verify "$@" >/dev/null 2>&1 +} + # recurse_deps CMD NAME [BRANCHPATH...] # Recursively eval CMD on all dependencies of NAME. # CMD can refer to $_name for queried branch name, @@ -99,14 +106,14 @@ recurse_deps() git cat-file blob "$_name:.topdeps" >"$_depsfile" _ret=0 while read _dep; do - if ! git rev-parse --verify "$_dep" >/dev/null 2>&1; then + if ! ref_exists "$_dep" ; 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 || + ref_exists "refs/top-bases/$_dep" || _dep_is_tgish= # Shoo shoo, keep our environment alone! -- 2.11.4.GIT