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>,
	Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>
Subject: [PATCH v5 3/8] t5520: test for failure if index has unresolved entries
Date: Fri, 29 May 2015 19:44:40 +0800	[thread overview]
Message-ID: <1432899885-25143-4-git-send-email-pyokagan@gmail.com> (raw)
In-Reply-To: <1432899885-25143-1-git-send-email-pyokagan@gmail.com>

Commit d38a30d (Be more user-friendly when refusing to do something
because of conflict., 2010-01-12) introduced code paths to git-pull
which will error out with user-friendly advices if the user is in the
middle of a merge or has unmerged files.

Implement tests to ensure that git-pull will not run, and will print
these advices, if the user is in the middle of a merge or has unmerged
files in the index.

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

Notes:
    
    v5:
    
    * use "test_commit"

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

diff --git a/t/t5520-pull.sh b/t/t5520-pull.sh
index 4a2c0a1..265c693 100755
--- a/t/t5520-pull.sh
+++ b/t/t5520-pull.sh
@@ -164,6 +164,25 @@ test_expect_success 'fail if upstream branch does not exist' '
 	test "$(cat file)" = file
 '
 
+test_expect_success 'fail if the index has unresolved entries' '
+	git checkout -b third second^ &&
+	test_when_finished "git checkout -f copy && git branch -D third" &&
+	test "$(cat file)" = file &&
+	test_commit modified2 file &&
+	test -z "$(git ls-files -u)" &&
+	test_must_fail git pull . second &&
+	test -n "$(git ls-files -u)" &&
+	cp file expected &&
+	test_must_fail git pull . second 2>err &&
+	test_i18ngrep "Pull is not possible because you have unmerged files" err &&
+	test_cmp expected file &&
+	git add file &&
+	test -z "$(git ls-files -u)" &&
+	test_must_fail git pull . second 2>err &&
+	test_i18ngrep "You have not concluded your merge" err &&
+	test_cmp expected file
+'
+
 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 ` Paul Tan [this message]
2015-05-29 11:44 ` [PATCH v5 4/8] t5520: test work tree fast-forward when fetch updates head Paul Tan
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-4-git-send-email-pyokagan@gmail.com \
    --to=pyokagan@gmail.com \
    --cc=Matthieu.Moy@grenoble-inp.fr \
    --cc=git@vger.kernel.org \
    --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).