chiark / gitweb /
Factor out rev-parse --verify calls to new ref_exists() function
authorPetr Baudis <pasky@suse.cz>
Tue, 9 Sep 2008 18:58:19 +0000 (20:58 +0200)
committerPetr Baudis <pasky@suse.cz>
Tue, 9 Sep 2008 18:58:19 +0000 (20:58 +0200)
tg-create.sh
tg-export.sh
tg.sh

index 3f33fa83d69472e44f7100ffc477f8035cf81fcb..dd95e6596876d38e1357435267c46f67783ebbe0 100644 (file)
@@ -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
index 62ea4f97f732b0d0f27e7b98ed742a7c8f5503ba..b664d8dc00a7ec5190dbdbcb297574f38e5f6624 100644 (file)
@@ -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 1bc886aaee7bbcd2444e8950769b2b8932a7bbc3..0dcb80e5f2c3f3eb526c423727661e81590d7bb2 100644 (file)
--- 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!