git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Paul Tan <pyokagan@gmail.com>
To: git@vger.kernel.org
Cc: Stefan Beller <sbeller@google.com>,
	Johannes Schindelin <johannes.schindelin@gmx.de>,
	Paul Tan <pyokagan@gmail.com>,
	Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>
Subject: [PATCH v4 3/8] t5520: test for failure if index has unresolved entries
Date: Mon, 18 May 2015 21:32:53 +0800	[thread overview]
Message-ID: <1431955978-17890-4-git-send-email-pyokagan@gmail.com> (raw)
In-Reply-To: <1431955978-17890-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>
---

* Use the stricter "Pull is not possible because you have unmerged files"
  instead of you have unmerged files" as git-merge will also raise a similar
  error "merge is not possible because you have unmerged files"

* Also, grep for "You have not concluded your merge" instead of "have not
  concluded your merge" as the latter reads weird to me personally.

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

diff --git a/t/t5520-pull.sh b/t/t5520-pull.sh
index 4a2c0a1..3bc0594 100755
--- a/t/t5520-pull.sh
+++ b/t/t5520-pull.sh
@@ -164,6 +164,26 @@ 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 &&
+	echo modified2 >file &&
+	git commit -a -m modified2 &&
+	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-18 13:34 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-18 13:32 [PATCH v4 0/8] Improve git-pull test coverage Paul Tan
2015-05-18 13:32 ` [PATCH v4 1/8] t5520: prevent field splitting in content comparisons Paul Tan
2015-05-18 18:07   ` Junio C Hamano
2015-05-18 13:32 ` [PATCH v4 2/8] t5520: test no merge candidates cases Paul Tan
2015-05-18 15:08   ` Johannes Schindelin
2015-05-18 17:46     ` Junio C Hamano
2015-05-18 18:55       ` debugging git tests, was: " Jeff King
2015-05-18 19:35         ` Junio C Hamano
2015-05-19 13:29         ` Johannes Schindelin
2015-06-05 10:44           ` Jeff King
2015-05-18 13:32 ` Paul Tan [this message]
2015-05-18 15:13   ` [PATCH v4 3/8] t5520: test for failure if index has unresolved entries Johannes Schindelin
2015-05-21  8:15     ` Paul Tan
2015-05-18 13:32 ` [PATCH v4 4/8] t5520: test work tree fast-forward when fetch updates head Paul Tan
2015-05-18 15:22   ` Johannes Schindelin
2015-05-18 13:32 ` [PATCH v4 5/8] t5520: test --rebase with multiple branches Paul Tan
2015-05-18 13:32 ` [PATCH v4 6/8] t5520: test --rebase failure on unborn branch with index Paul Tan
2015-05-18 18:00   ` Stefan Beller
2015-05-21  8:51     ` Paul Tan
2015-05-18 13:32 ` [PATCH v4 7/8] t5521: test --dry-run does not make any changes Paul Tan
2015-05-18 13:32 ` [PATCH v4 8/8] t5520: check reflog action in fast-forward merge Paul Tan
2015-05-18 15:20   ` Johannes Schindelin
2015-05-21  8:07     ` Paul Tan
2015-05-21 17:29       ` 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=1431955978-17890-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).