diff options
-rwxr-xr-x | git-debpush | 8 | ||||
-rwxr-xr-x | tests/tests/tagupl | 2 |
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 |