From: Jeff King <peff@peff.net>
To: phillip.wood@dunelm.org.uk
Cc: Brian Henderson <henderson.bj@gmail.com>,
Git Mailing List <git@vger.kernel.org>
Subject: [PATCH 4/7] diff-highlight: test interleaved parallel lines of history
Date: Wed, 21 Mar 2018 01:49:26 -0400 [thread overview]
Message-ID: <20180321054926.GD14016@sigill.intra.peff.net> (raw)
In-Reply-To: <20180321054718.GA13936@sigill.intra.peff.net>
The graph test in t9400 covers the case of two simultaneous
branches, but all of the commits during this time are on the
right-hand branch. So we test a graph structure like:
| |
| * commit ...
| |
but we never see the reverse, a commit on the left-hand
branch:
| |
* | commit ...
| |
Since this is an easy thing to get wrong when touching the
graph-matching code, let's cover it by adding one more
commit with its timestamp interleaved with the other branch.
Note that we need to pass --date-order to convince Git to
show it this way (since --topo-order tries to keep lines of
history separate).
Signed-off-by: Jeff King <peff@peff.net>
---
.../diff-highlight/t/t9400-diff-highlight.sh | 22 +++++++++++++------
1 file changed, 15 insertions(+), 7 deletions(-)
diff --git a/contrib/diff-highlight/t/t9400-diff-highlight.sh b/contrib/diff-highlight/t/t9400-diff-highlight.sh
index 3f02d31467..33bcdbc90f 100755
--- a/contrib/diff-highlight/t/t9400-diff-highlight.sh
+++ b/contrib/diff-highlight/t/t9400-diff-highlight.sh
@@ -52,15 +52,17 @@ test_strip_patch_header () {
# dh_test_setup_history generates a contrived graph such that we have at least
# 1 nesting (E) and 2 nestings (F).
#
-# A master
+# A---B master
# /
# D---E---F branch
#
# git log --all --graph
# * commit
-# | A
+# | B
# | * commit
# | | F
+# * | commit
+# | | A
# | * commit
# |/
# | E
@@ -78,14 +80,20 @@ dh_test_setup_history () {
test_tick &&
git commit -a -m "E" &&
+ git checkout master &&
+ echo file2 >file &&
+ test_tick &&
+ git commit -a -m "A" &&
+
+ git checkout branch &&
echo file3 >file &&
test_tick &&
git commit -a -m "F" &&
git checkout master &&
- echo file2 >file &&
+ echo file3 >file &&
test_tick &&
- git commit -a -m "A"
+ git commit -a -m "B"
}
left_trim () {
@@ -246,12 +254,12 @@ test_expect_failure 'diff-highlight treats combining code points as a unit' '
test_expect_success 'diff-highlight works with the --graph option' '
dh_test_setup_history &&
- # topo-order so that the order of the commits is the same as with --graph
+ # date-order so that the commits are interleaved for both
# trim graph elements so we can do a diff
# trim leading space because our trim_graph is not perfect
- git log --branches -p --topo-order |
+ git log --branches -p --date-order |
"$DIFF_HIGHLIGHT" | left_trim >graph.exp &&
- git log --branches -p --graph |
+ git log --branches -p --date-order --graph |
"$DIFF_HIGHLIGHT" | trim_graph | left_trim >graph.act &&
test_cmp graph.exp graph.act
'
--
2.17.0.rc0.402.ged0b3fd1ee
next prev parent reply other threads:[~2018-03-21 5:49 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-19 10:21 [BUG] log --graph corrupts patch Phillip Wood
2018-03-20 6:09 ` Jeff King
2018-03-20 9:58 ` Phillip Wood
2018-03-20 15:58 ` Jeff King
2018-03-21 5:47 ` Jeff King
2018-03-21 5:47 ` [PATCH 1/7] diff-highlight: correct test graph diagram Jeff King
2018-03-21 5:48 ` [PATCH 2/7] diff-highlight: use test_tick in graph test Jeff King
2018-03-21 5:48 ` [PATCH 3/7] diff-highlight: prefer "echo" to "cat" in tests Jeff King
2018-03-21 5:49 ` Jeff King [this message]
2018-03-21 5:49 ` [PATCH 5/7] diff-highlight: test graphs with --color Jeff King
2018-03-21 5:56 ` [PATCH 6/7] diff-highlight: use flush() helper consistently Jeff King
2018-03-21 5:59 ` [PATCH 7/7] diff-highlight: detect --graph by indent Jeff King
2018-03-22 10:59 ` Phillip Wood
2018-03-22 11:18 ` Jeff King
2018-03-21 17:23 ` [BUG] log --graph corrupts patch 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
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180321054926.GD14016@sigill.intra.peff.net \
--to=peff@peff.net \
--cc=git@vger.kernel.org \
--cc=henderson.bj@gmail.com \
--cc=phillip.wood@dunelm.org.uk \
/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.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
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 read-only IMAP folder(s) and NNTP newsgroup(s).