git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tay Ray Chuan <rctay89@gmail.com>
To: git@vger.kernel.org
Cc: "Shawn O. Pearce" <spearce@spearce.org>,
	"Daniel Barkalow" <barkalow@iabervon.org>,
	"Jeff King" <peff@peff.net>, "Junio C Hamano" <gitster@pobox.com>
Subject: [PATCH v3 2/6] t5541-http-push.sh: add test for unmatched, non-fast-forwarded refs
Date: Thu, 24 Dec 2009 15:41:58 +0800	[thread overview]
Message-ID: <20091224154158.15ba580f.rctay89@gmail.com> (raw)
In-Reply-To: <20091224154057.33611ae7.rctay89@gmail.com>

Test that when non-fast-forwarded refs cannot be matched without an
explicit refspect, the push fails with a non-fast-forward ref status and
help message.

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
---
 t/t5541-http-push.sh |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/t/t5541-http-push.sh b/t/t5541-http-push.sh
index f49c7c4..5ebe04a 100755
--- a/t/t5541-http-push.sh
+++ b/t/t5541-http-push.sh
@@ -111,5 +111,25 @@ Merge the remote changes before pushing again.  See the '"'non-fast-forward'"'
 section of '"'git push --help'"' for details." output
 '

+test_expect_failure 'push fails for non-fast-forward refs unmatched by remote helper' '
+	# create a dissimilarly-named ref so that git is unable to match the refs
+	git push origin master:retsam
+
+	echo "change changed" > path2 &&
+	git commit -a -m path2 --amend &&
+
+	# push master too. This ensures there is at least one '"'push'"' command to
+	# the remote helper and triggers interaction with the helper.
+	!(git push -v origin +master master:retsam >output 2>&1) &&
+
+	grep "^ + [a-z0-9]\+\.\.\.[a-z0-9]\+[ ]*master -> master (forced update)$" output &&
+	grep "^ ! \[rejected\][ ]*master -> retsam (non-fast-forward)$" output &&
+
+	grep \
+"To prevent you from losing history, non-fast-forward updates were rejected
+Merge the remote changes before pushing again.  See the '"'non-fast-forward'"'
+section of '"'git push --help'"' for details." output
+'
+
 stop_httpd
 test_done
--
1.6.6.rc1.249.g048b3

  parent reply	other threads:[~2009-12-24  7:42 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-04  6:54 [PATCH resend 0/3] transport: catch non-fast-forwards Tay Ray Chuan
2009-12-04  6:56 ` [PATCH resend 1/3] refactor ref status logic for pushing Tay Ray Chuan
2009-12-04  6:57 ` [PATCH resend 2/3] transport-helper.c::push_refs(): know more about refs before pushing Tay Ray Chuan
2009-12-04  6:58 ` [PATCH resend 3/3] transport.c::transport_push(): make ref status affect return value Tay Ray Chuan
2009-12-04 10:20   ` Jeff King
     [not found]     ` <20091204125042.c64f347d.rctay89@gmail.com>
2009-12-04  4:54       ` [PATCH 1/3] refactor ref status logic for pushing Tay Ray Chuan
     [not found]       ` <20091204144822.a61355d2.rctay89@gmail.com>
2009-12-04  7:05         ` [PATCH resend 0/3] transport: catch non-fast-forwards Daniel Barkalow
2009-12-08 14:34       ` [PATCH v2 " Tay Ray Chuan
2009-12-08 14:35         ` [PATCH v2 1/3] refactor ref status logic for pushing Tay Ray Chuan
2009-12-08 17:17           ` Daniel Barkalow
2009-12-09  3:40             ` Tay Ray Chuan
2009-12-09  7:13               ` Daniel Barkalow
2009-12-08 14:36         ` [PATCH v2 2/3] transport.c::transport_push(): make ref status affect return value Tay Ray Chuan
2009-12-08 14:37         ` [PATCH v2 3/3] transport-helper.c::push_refs(): emit "no refs" error message Tay Ray Chuan
2009-12-24  7:40         ` [PATCH v3 0/6] transport: catch non-fast forwards Tay Ray Chuan
2009-12-24  7:40           ` [PATCH v3 1/6] t5541-http-push.sh: add tests for non-fast-forward pushes Tay Ray Chuan
2009-12-24  7:41           ` Tay Ray Chuan [this message]
2010-01-05  6:35             ` [PATCH v3 2/6] t5541-http-push.sh: add test for unmatched, non-fast-forwarded refs Jeff King
2010-01-05 10:01               ` Tay Ray Chuan
2010-01-06 12:05                 ` Jeff King
2010-01-06  1:04             ` Junio C Hamano
2010-01-06  2:12               ` Tay Ray Chuan
2010-01-08  2:12             ` [PATCH v4 " Tay Ray Chuan
2010-01-08  2:12               ` [PATCH v4 3/6] refactor ref status logic for pushing Tay Ray Chuan
2010-01-08  2:12                 ` [PATCH v4 4/6] transport.c::transport_push(): make ref status affect return value Tay Ray Chuan
2009-12-24  7:42           ` [PATCH v3 3/6] refactor ref status logic for pushing Tay Ray Chuan
2009-12-24  7:43           ` [PATCH v3 4/6] transport.c::transport_push(): make ref status affect return value Tay Ray Chuan
2009-12-24  7:44           ` [PATCH v3 5/6] transport-helper.c::push_refs(): ignore helper-reported status if ref is not to be pushed Tay Ray Chuan
2010-01-05  6:32             ` Jeff King
2010-01-05 10:01               ` Tay Ray Chuan
2010-01-06 12:04                 ` Jeff King
2010-01-06 21:41                   ` Tay Ray Chuan
2010-01-08  1:04                     ` Tay Ray Chuan
2010-01-08  2:12             ` [PATCH v4 " Tay Ray Chuan
2010-01-08  2:12               ` [PATCH v4 6/6] transport-helper.c::push_refs(): emit "no refs" error message Tay Ray Chuan
2009-12-24  7:45           ` [PATCH v3 " Tay Ray Chuan
2010-01-08  2:12     ` [PATCH v4 0/6] transport: catch non-fast forwards Tay Ray Chuan
2010-01-08  2:12       ` [PATCH v4 1/6] t5541-http-push.sh: add tests for non-fast-forward pushes Tay Ray Chuan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20091224154158.15ba580f.rctay89@gmail.com \
    --to=rctay89@gmail.com \
    --cc=barkalow@iabervon.org \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=peff@peff.net \
    --cc=spearce@spearce.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).