git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Paul Tan <pyokagan@gmail.com>
To: git@vger.kernel.org
Cc: Johannes Schindelin <johannes.schindelin@gmx.de>,
	Stefan Beller <sbeller@google.com>, Paul Tan <pyokagan@gmail.com>,
	Junio C Hamano <gitster@pobox.com>
Subject: [PATCH v5 4/8] t5520: test work tree fast-forward when fetch updates head
Date: Fri, 29 May 2015 19:44:41 +0800	[thread overview]
Message-ID: <1432899885-25143-5-git-send-email-pyokagan@gmail.com> (raw)
In-Reply-To: <1432899885-25143-1-git-send-email-pyokagan@gmail.com>

Since b10ac50 (Fix pulling into the same branch., 2005-08-25), git-pull,
upon detecting that git-fetch updated the current head, will
fast-forward the working tree to the updated head commit.

Implement tests to ensure that the fast-forward occurs in such a case,
as well as to ensure that the user-friendly advice is printed upon
failure.

Signed-off-by: Paul Tan <pyokagan@gmail.com>
---

 t/t5520-pull.sh | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/t/t5520-pull.sh b/t/t5520-pull.sh
index 265c693..872d765 100755
--- a/t/t5520-pull.sh
+++ b/t/t5520-pull.sh
@@ -183,6 +183,27 @@ test_expect_success 'fail if the index has unresolved entries' '
 	test_cmp expected file
 '
 
+test_expect_success 'fast-forwards working tree if branch head is updated' '
+	git checkout -b third second^ &&
+	test_when_finished "git checkout -f copy && git branch -D third" &&
+	test "$(cat file)" = file &&
+	git pull . second:third 2>err &&
+	test_i18ngrep "fetch updated the current branch head" err &&
+	test "$(cat file)" = modified &&
+	test "$(git rev-parse third)" = "$(git rev-parse second)"
+'
+
+test_expect_success 'fast-forward fails with conflicting work tree' '
+	git checkout -b third second^ &&
+	test_when_finished "git checkout -f copy && git branch -D third" &&
+	test "$(cat file)" = file &&
+	echo conflict >file &&
+	test_must_fail git pull . second:third 2>err &&
+	test_i18ngrep "Cannot fast-forward your working tree" err &&
+	test "$(cat file)" = conflict &&
+	test "$(git rev-parse third)" = "$(git rev-parse second)"
+'
+
 test_expect_success '--rebase' '
 	git branch to-rebase &&
 	echo modified again > file &&
-- 
2.1.4

  parent reply	other threads:[~2015-05-29 11:45 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-29 11:44 [PATCH v5 0/8] Improve git-pull test coverage Paul Tan
2015-05-29 11:44 ` [PATCH v5 1/8] t5520: prevent field splitting in content comparisons Paul Tan
2015-05-29 11:44 ` [PATCH v5 2/8] t5520: test no merge candidates cases Paul Tan
2015-05-29 11:44 ` [PATCH v5 3/8] t5520: test for failure if index has unresolved entries Paul Tan
2015-05-29 11:44 ` Paul Tan [this message]
2015-05-29 11:44 ` [PATCH v5 5/8] t5520: test --rebase with multiple branches Paul Tan
2015-05-29 11:44 ` [PATCH v5 6/8] t5520: test --rebase failure on unborn branch with index Paul Tan
2015-05-29 11:44 ` [PATCH v5 7/8] t5521: test --dry-run does not make any changes Paul Tan
2015-05-29 11:44 ` [PATCH v5 8/8] t5520: check reflog action in fast-forward merge Paul Tan
2015-05-29 18:08 ` [PATCH v5 0/8] Improve git-pull test coverage Junio C Hamano

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=1432899885-25143-5-git-send-email-pyokagan@gmail.com \
    --to=pyokagan@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=johannes.schindelin@gmx.de \
    --cc=sbeller@google.com \
    /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).