summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xgit-debpush8
-rwxr-xr-xtests/tests/tagupl2
2 files changed, 10 insertions, 0 deletions
diff --git a/git-debpush b/git-debpush
index 80594f5..39ff410 100755
--- a/git-debpush
+++ b/git-debpush
@@ -278,6 +278,14 @@ if ! [ "x$last_debian_tag" = "x" ]; then
fi
fi
+if ! [ "x$upstream_tag" = "x" ] \
+ && ! git merge-base --is-ancestor "$upstream_tag" "$branch" \
+ && ! [ "$quilt_mode" = "baredebian" ]; then
+ fail_check \
+ "upstream tag $upstream_tag is not an ancestor of $branch; probably a mistake"
+fi
+
+
if ! $force && $failed_check; then
fail "some checks failed; you can override with --force"
fi
diff --git a/tests/tests/tagupl b/tests/tests/tagupl
index cf750fe..3b0a7a0 100755
--- a/tests/tests/tagupl
+++ b/tests/tests/tagupl
@@ -27,7 +27,9 @@ t-tagupl-settings
tagname=test-dummy/$v
+t-expect-fail "upstream tag $upstreamtag is not an ancestor of refs/heads/master" \
t-tagupl-test --quilt=gbp --upstream=$upstreamtag
+t-tagupl-test --quilt=gbp --force --upstream=$upstreamtag
t-pushed-good master
# todo: test each miss/rejection