chiark / gitweb /
git-debpush: gather some information earlier
authorSean Whitton <spwhitton@spwhitton.name>
Wed, 17 Jul 2019 08:23:48 +0000 (09:23 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 17 Jul 2019 13:12:27 +0000 (14:12 +0100)
For use by sanity checks.

Pure code motion.

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
git-debpush

index 1902fa93f7ff0cab98ba8661efcb9ce0f4435585..80594f5cd0c5f392521fa6c77a052792abb048f2 100755 (executable)
@@ -198,49 +198,6 @@ target=$(cd $temp; dpkg-parsechangelog -SDistribution)
 rm -rf "$temp"
 trap - EXIT
 
-# ---- Gather git history information
-
-last_debian_tag=$(find_last_tag "debian/")
-last_archive_tag=$(find_last_tag "archive/debian/")
-
-# ---- Useful sanity checks
-
-if [ "$target" = "UNRELEASED" ]; then
-    fail_check "UNRELEASED changelog"
-fi
-
-if ! [ "x$last_debian_tag" = "x" ] && ! [ "x$last_archive_tag" = "x" ]; then
-    last_debian_tag_c=$(git rev-parse "$last_debian_tag"^{})
-    last_archive_tag_c=$(git rev-parse "$last_archive_tag"^{})
-    if ! [ "$last_debian_tag_c" = "$last_archive_tag_c" ] \
-            && git merge-base --is-ancestor \
-                   "$last_debian_tag" "$last_archive_tag"; then
-        fail_check \
-"looks like you might be trying to push the dgit view to the maintainer branch?"
-    fi
-fi
-
-if ! [ "x$last_debian_tag" = "x" ]; then
-    temp=$(mktemp -d)
-    trap cleanup EXIT
-    mkdir "$temp/debian"
-    git cat-file blob "$last_debian_tag":debian/changelog >"$temp/debian/changelog"
-    prev_target=$(cd $temp; dpkg-parsechangelog -SDistribution)
-    rm -rf "$temp"
-    trap - EXIT
-
-    if ! [ "$prev_target" = "$target" ] && ! [ "$target" = "UNRELEASED" ]; then
-        fail_check \
-"last upload targeted $prev_target, now targeting $target; might be a mistake?"
-    fi
-fi
-
-if ! $force && $failed_check; then
-    fail "some checks failed; you can override with --force"
-fi
-
-# ---- Create the git tag
-
 format="$(get_file_from_ref debian/source/format)"
 case "$format" in
     '3.0 (quilt)')  upstream=true ;;
@@ -259,6 +216,11 @@ case "$format" in
        ;;
 esac
 
+# ---- Gather git history information
+
+last_debian_tag=$(find_last_tag "debian/")
+last_archive_tag=$(find_last_tag "archive/debian/")
+
 upstream_info=""
 if $upstream; then
     if [ "x$upstream_tag" = x ]; then
@@ -284,6 +246,44 @@ if $upstream; then
     upstream_info=" upstream-tag=$upstream_tag upstream=$upstream_committish"
 fi
 
+# ---- Useful sanity checks
+
+if [ "$target" = "UNRELEASED" ]; then
+    fail_check "UNRELEASED changelog"
+fi
+
+if ! [ "x$last_debian_tag" = "x" ] && ! [ "x$last_archive_tag" = "x" ]; then
+    last_debian_tag_c=$(git rev-parse "$last_debian_tag"^{})
+    last_archive_tag_c=$(git rev-parse "$last_archive_tag"^{})
+    if ! [ "$last_debian_tag_c" = "$last_archive_tag_c" ] \
+            && git merge-base --is-ancestor \
+                   "$last_debian_tag" "$last_archive_tag"; then
+        fail_check \
+"looks like you might be trying to push the dgit view to the maintainer branch?"
+    fi
+fi
+
+if ! [ "x$last_debian_tag" = "x" ]; then
+    temp=$(mktemp -d)
+    trap cleanup EXIT
+    mkdir "$temp/debian"
+    git cat-file blob "$last_debian_tag":debian/changelog >"$temp/debian/changelog"
+    prev_target=$(cd $temp; dpkg-parsechangelog -SDistribution)
+    rm -rf "$temp"
+    trap - EXIT
+
+    if ! [ "$prev_target" = "$target" ] && ! [ "$target" = "UNRELEASED" ]; then
+        fail_check \
+"last upload targeted $prev_target, now targeting $target; might be a mistake?"
+    fi
+fi
+
+if ! $force && $failed_check; then
+    fail "some checks failed; you can override with --force"
+fi
+
+# ---- Create the git tag
+
 # convert according to DEP-14 rules
 git_version=$(echo $version | tr ':~' '%_' | sed 's/\.(?=\.|$|lock$)/.#/g')