From: Martin von Zweigbergk <martinvonz@gmail.com>
To: git@vger.kernel.org
Cc: Junio C Hamano <gitster@pobox.com>,
Johannes Sixt <j.sixt@viscovery.net>,
Chris Webb <chris@arachsys.com>,
Felipe Contreras <felipe.contreras@gmail.com>,
Martin von Zweigbergk <martinvonz@gmail.com>
Subject: [PATCH v3 4/7] add tests for rebasing root
Date: Thu, 30 May 2013 23:49:44 -0700 [thread overview]
Message-ID: <1369982987-18954-5-git-send-email-martinvonz@gmail.com> (raw)
In-Reply-To: <1369982987-18954-1-git-send-email-martinvonz@gmail.com>
---
t/t3420-rebase-topology-linear.sh | 129 ++++++++++++++++++++++++++++++++++++++
1 file changed, 129 insertions(+)
diff --git a/t/t3420-rebase-topology-linear.sh b/t/t3420-rebase-topology-linear.sh
index 81e3d59..659a7b3 100755
--- a/t/t3420-rebase-topology-linear.sh
+++ b/t/t3420-rebase-topology-linear.sh
@@ -218,4 +218,133 @@ test_run_rebase failure -m
test_run_rebase failure -i
test_run_rebase failure -p
+# m
+# /
+# a---b---c---g
+#
+# x---y---B
+#
+# uppercase = cherry-picked
+# m = reverted b
+#
+# Reverted patches are there for tests to be able to check if a commit
+# that introduced the same change as another commit is
+# dropped. Without reverted commits, we could get false positives
+# because applying the patch succeeds, but simply results in no
+# changes.
+test_expect_success 'setup of linear history for test involving root' '
+ git checkout b &&
+ revert m b &&
+ git checkout --orphan disjoint &&
+ git rm -rf . &&
+ test_commit x &&
+ test_commit y &&
+ cherry_pick B b
+'
+
+test_run_rebase () {
+ result=$1
+ shift
+ test_expect_$result "rebase $* --onto --root" "
+ reset_rebase &&
+ git rebase $* --onto c --root y &&
+ test_cmp_rev c HEAD~2 &&
+ test_linear_range 'x y' c..
+ "
+}
+test_run_rebase success ''
+test_run_rebase failure -m
+test_run_rebase success -i
+test_run_rebase success -p
+
+test_run_rebase () {
+ result=$1
+ shift
+ test_expect_$result "rebase $* without --onto --root with disjoint history" "
+ reset_rebase &&
+ git rebase $* c y &&
+ test_cmp_rev c HEAD~2 &&
+ test_linear_range 'x y' c..
+ "
+}
+test_run_rebase success ''
+test_run_rebase failure -m
+test_run_rebase success -i
+test_run_rebase failure -p
+
+test_run_rebase () {
+ result=$1
+ shift
+ test_expect_$result "rebase $* --onto --root drops patch in onto" "
+ reset_rebase &&
+ git rebase $* --onto m --root B &&
+ test_cmp_rev m HEAD~2 &&
+ test_linear_range 'x y' m..
+ "
+}
+test_run_rebase success ''
+test_run_rebase failure -m
+test_run_rebase success -i
+test_run_rebase success -p
+
+test_run_rebase () {
+ result=$1
+ shift
+ test_expect_$result "rebase $* --onto --root with merge-base does not go to root" "
+ reset_rebase &&
+ git rebase $* --onto m --root g &&
+ test_cmp_rev m HEAD~2 &&
+ test_linear_range 'c g' m..
+ "
+}
+
+test_run_rebase success ''
+test_run_rebase success -m
+test_run_rebase success -i
+test_run_rebase failure -p
+
+test_run_rebase () {
+ result=$1
+ shift
+ test_expect_$result "rebase $* without --onto --root with disjoint history drops patch in onto" "
+ reset_rebase &&
+ git rebase $* m B &&
+ test_cmp_rev m HEAD~2 &&
+ test_linear_range 'x y' m..
+ "
+}
+test_run_rebase success ''
+test_run_rebase failure -m
+test_run_rebase success -i
+test_run_rebase failure -p
+
+test_run_rebase () {
+ result=$1
+ shift
+ test_expect_$result "rebase $* --root on linear history is a no-op" "
+ reset_rebase &&
+ git rebase $* --root c &&
+ test_cmp_rev c HEAD
+ "
+}
+test_run_rebase failure ''
+test_run_rebase failure -m
+test_run_rebase failure -i
+test_run_rebase failure -p
+
+test_run_rebase () {
+ result=$1
+ shift
+ test_expect_$result "rebase $* -f --root on linear history causes re-write" "
+ reset_rebase &&
+ git rebase $* -f --root c &&
+ ! test_cmp_rev a HEAD~2 &&
+ test_linear_range 'a b c' HEAD
+ "
+}
+test_run_rebase success ''
+test_run_rebase success -m
+test_run_rebase success -i
+test_run_rebase success -p
+
test_done
--
1.8.2.674.gd17d3d2
next prev parent reply other threads:[~2013-05-31 6:50 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-18 6:31 [RFC PATCH] add t3420-rebase-topology Martin von Zweigbergk
2012-09-18 7:51 ` Junio C Hamano
2012-09-21 17:06 ` Martin von Zweigbergk
2012-09-18 7:53 ` Johannes Sixt
2012-09-26 17:07 ` Martin von Zweigbergk
2012-09-27 12:20 ` Chris Webb
2012-09-28 18:03 ` Martin von Zweigbergk
2012-09-29 8:08 ` Chris Webb
2013-05-29 6:39 ` [PATCH v2 0/7] Rebase topology test Martin von Zweigbergk
2013-05-29 6:39 ` [PATCH v2 1/7] add simple tests of consistency across rebase types Martin von Zweigbergk
2013-06-03 17:16 ` Martin von Zweigbergk
2013-06-03 18:05 ` Junio C Hamano
2013-06-03 18:12 ` Martin von Zweigbergk
2013-05-29 6:39 ` [PATCH v2 2/7] add tests for rebasing with patch-equivalence present Martin von Zweigbergk
2013-05-29 7:09 ` Johannes Sixt
2013-05-30 5:30 ` Martin von Zweigbergk
2013-05-30 5:41 ` Felipe Contreras
2013-05-30 6:14 ` Martin von Zweigbergk
2013-05-30 6:40 ` Felipe Contreras
2013-05-30 6:46 ` Martin von Zweigbergk
2013-05-30 12:54 ` Johannes Sixt
2013-05-30 15:01 ` Martin von Zweigbergk
2013-05-29 6:39 ` [PATCH v2 3/7] add tests for rebasing of empty commits Martin von Zweigbergk
2013-05-29 6:39 ` [PATCH v2 4/7] add tests for rebasing root Martin von Zweigbergk
2013-05-29 7:31 ` Johannes Sixt
2013-05-30 5:51 ` Martin von Zweigbergk
2013-05-29 6:39 ` [PATCH v2 5/7] add tests for rebasing merged history Martin von Zweigbergk
2013-05-29 7:57 ` Johannes Sixt
2013-05-31 5:42 ` Martin von Zweigbergk
2013-05-29 10:33 ` Johannes Sixt
2013-05-29 6:39 ` [PATCH v2 6/7] t3406: modernize style Martin von Zweigbergk
2013-05-29 6:39 ` [PATCH v2 7/7] tests: move test for rebase messages from t3400 to t3406 Martin von Zweigbergk
2013-05-29 7:10 ` [PATCH v2 0/7] Rebase topology test Felipe Contreras
2013-05-29 12:50 ` Ramkumar Ramachandra
2013-05-29 13:54 ` Felipe Contreras
2013-05-31 6:49 ` [PATCH v3 " Martin von Zweigbergk
2013-05-31 6:49 ` [PATCH v3 1/7] add simple tests of consistency across rebase types Martin von Zweigbergk
2013-05-31 6:49 ` [PATCH v3 2/7] add tests for rebasing with patch-equivalence present Martin von Zweigbergk
2013-05-31 6:49 ` [PATCH v3 3/7] add tests for rebasing of empty commits Martin von Zweigbergk
2013-05-31 6:49 ` Martin von Zweigbergk [this message]
2013-05-31 6:49 ` [PATCH v3 5/7] add tests for rebasing merged history Martin von Zweigbergk
2013-05-31 12:19 ` Johannes Sixt
2013-06-01 21:36 ` [PATCH v4 " Martin von Zweigbergk
2013-05-31 6:49 ` [PATCH v3 6/7] t3406: modernize style Martin von Zweigbergk
2013-05-31 6:49 ` [PATCH v3 7/7] tests: move test for rebase messages from t3400 to t3406 Martin von Zweigbergk
2013-06-03 20:42 ` [PATCH v5 0/7] Rebase topology test Martin von Zweigbergk
2013-06-03 20:42 ` [PATCH v5 1/7] add simple tests of consistency across rebase types Martin von Zweigbergk
2013-06-03 22:28 ` Junio C Hamano
2013-06-04 5:14 ` Martin von Zweigbergk
2013-06-04 5:49 ` Junio C Hamano
2013-06-04 6:15 ` Johannes Sixt
2013-06-05 4:31 ` Martin von Zweigbergk
2013-06-03 20:42 ` [PATCH v5 2/7] add tests for rebasing with patch-equivalence present Martin von Zweigbergk
2013-06-03 20:42 ` [PATCH v5 3/7] add tests for rebasing of empty commits Martin von Zweigbergk
2013-06-03 20:42 ` [PATCH v5 4/7] add tests for rebasing root Martin von Zweigbergk
2013-06-03 20:42 ` [PATCH v5 5/7] add tests for rebasing merged history Martin von Zweigbergk
2013-06-04 17:18 ` Junio C Hamano
2013-06-05 5:44 ` Martin von Zweigbergk
2013-06-05 6:12 ` Johannes Sixt
2013-06-03 20:42 ` [PATCH v5 6/7] t3406: modernize style Martin von Zweigbergk
2013-06-03 20:42 ` [PATCH v5 7/7] tests: move test for rebase messages from t3400 to t3406 Martin von Zweigbergk
2013-06-07 6:11 ` [PATCH v6 0/8] Rebase topology test Martin von Zweigbergk
2013-06-07 6:11 ` [PATCH v6 1/7] add simple tests of consistency across rebase types Martin von Zweigbergk
2013-06-07 6:11 ` [PATCH v6 2/7] add tests for rebasing with patch-equivalence present Martin von Zweigbergk
2013-06-07 6:11 ` [PATCH v6 3/7] add tests for rebasing of empty commits Martin von Zweigbergk
2013-06-07 6:11 ` [PATCH v6 4/7] add tests for rebasing root Martin von Zweigbergk
2013-06-07 6:11 ` [PATCH v6 5/7] add tests for rebasing merged history Martin von Zweigbergk
2013-06-07 6:11 ` [PATCH v6 6/7] t3406: modernize style Martin von Zweigbergk
2013-06-07 6:11 ` [PATCH v6 7/7] tests: move test for rebase messages from t3400 to t3406 Martin von Zweigbergk
2013-06-07 16:43 ` [PATCH v6 0/8] Rebase topology test Junio C Hamano
2013-06-07 19:37 ` Johannes Sixt
2013-06-18 7:28 ` [PATCH mz/rebase-tests] rebase topology tests: fix commit names on case-insensitive file systems Johannes Sixt
2013-06-18 15:45 ` Junio C Hamano
2013-06-18 15:53 ` Martin von Zweigbergk
2013-06-19 5:52 ` Johannes Sixt
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=1369982987-18954-5-git-send-email-martinvonz@gmail.com \
--to=martinvonz@gmail.com \
--cc=chris@arachsys.com \
--cc=felipe.contreras@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=j.sixt@viscovery.net \
/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).