git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v4 05/15] t6111: add parents to tests

From
Kevin Bracey <kevin@bracey.fi>
Date
May 16, 2013, 15:32 UTC
Message-ID
<1368718361-27859-6-git-send-email-kevin@bracey.fi>
In-Reply-To
<1368718361-27859-1-git-send-email-kevin@bracey.fi>
Signed-off-by: Kevin Bracey <kevin@bracey.fi>
---
 t/t6111-rev-list-treesame.sh | 38 +++++++++++++++++++-------------------
 1 file changed, 19 insertions(+), 19 deletions(-)
diff --git a/t/t6111-rev-list-treesame.sh b/t/t6111-rev-list-treesame.sh
index 1e4a550..4d74d3c 100755
--- a/t/t6111-rev-list-treesame.sh
+++ b/t/t6111-rev-list-treesame.sh
@@ -66,8 +66,6 @@ test_expect_success setup '
 	test_commit M file "Parts 1+2"
 '
 
-# could we soup this up to optionally check parents? So "(BA)C" would check
-# that C is shown and has parents B A.
 check_outcome () {
 	outcome=$1
 	shift
@@ -109,14 +107,16 @@ check_result () {
 # except the most basic list. Achieving this means normal merge D will also be
 # shown in normal full-history, as we can't distinguish unless we do a
 # simplification pass. After simplification, D is dropped but G remains.
+# Also, merge simplification of G should not drop the parent B that the default
+# simple history follows.
 check_result 'M L K J I H G F E D C B A'
 check_result '(LH)M (K)L (GJ)K (I)J (G)I (G)H (FE)G (D)F (B)E (BC)D (A)C (A)B A'
 check_result 'M H L K J I G E F D C B A' --topo-order
 check_result 'M L H B A' -- file
-check_result 'M L H B A' --parents -- file
+check_result '(LH)M (B)L (B)H (A)B A' --parents -- file
 check_outcome failure 'M L J I H G F D B A' --full-history -- file # drops G
-check_result 'M L K J I H G F D B A' --full-history --parents -- file
-check_outcome failure 'M H L J I G F B A' --simplify-merges -- file # drops G
+check_result '(LH)M (K)L (GJ)K (I)J (G)I (G)H (FB)G (D)F (BA)D (A)B A' --full-history --parents -- file
+check_outcome failure '(LH)M (G)H (J)L (I)J (G)I (FB)G (B)F (A)B A' --simplify-merges -- file # drops G
 check_result 'M L K G F D B A' --first-parent
 check_result 'M L G F B A' --first-parent -- file
 
@@ -124,14 +124,14 @@ check_result 'M L G F B A' --first-parent -- file
 check_result 'M L K J I H G E' F..M
 check_result 'M H L K J I G E' F..M --topo-order
 check_result 'M L H' F..M -- file
-check_result 'M L H' F..M --parents -- file # L+H's parents rewritten to B, so more useful than it may seem
+check_result '(LH)M (B)L (B)H' --parents F..M -- file
 check_outcome failure 'M L J I H G' F..M --full-history -- file # drops G
-check_result 'M L K J I H G' F..M --full-history --parents -- file
-check_outcome failure 'M H L J I G' F..M --simplify-merges -- file # drops G
+check_result '(LH)M (K)L (GJ)K (I)J (G)I (G)H (FB)G' F..M --full-history --parents -- file
+check_outcome failure '(LH)M (G)H (J)L (I)J (G)I (FB)G' F..M --simplify-merges -- file # drops G
 check_result 'M L K J I H G' F..M --ancestry-path
 check_outcome failure 'M L J I H G' F..M --ancestry-path -- file # drops G
-check_result 'M L K J I H G' F..M --ancestry-path --parents -- file
-check_result 'M H L J I G' F..M --ancestry-path --simplify-merges -- file
+check_result '(LH)M (K)L (GJ)K (I)J (G)I (G)H (FE)G' F..M --ancestry-path --parents -- file
+check_result '(LH)M (G)H (J)L (I)J (G)I (FE)G' F..M --ancestry-path --simplify-merges -- file
 check_result 'M L K G' F..M --first-parent
 check_result 'M L G' F..M --first-parent -- file
 
@@ -139,15 +139,15 @@ check_result 'M L G' F..M --first-parent -- file
 # If we want history since E, then we're quite happy to ignore G that took E.
 check_result 'M L K J I H G' E..M --ancestry-path
 check_result 'M L J I H' E..M --ancestry-path -- file
-check_outcome failure 'M L K J I H' E..M --ancestry-path --parents -- file # includes G
-check_outcome failure 'M H L J I' E..M --ancestry-path --simplify-merges -- file # includes G
+check_outcome failure '(LH)M (K)L (EJ)K (I)J (E)I (E)H' E..M --ancestry-path --parents -- file # includes G
+check_outcome failure '(LH)M (E)H (J)L (I)J (E)I' E..M --ancestry-path --simplify-merges -- file # includes G
 
 # Should still be able to ignore I-J branch in simple log, despite limiting
 # to G.
 check_result 'M L K J I H' G..M
 check_result 'M H L K J I' G..M --topo-order
 check_outcome failure 'M L H' G..M -- file # includes J I
-check_outcome failure 'M L H' G..M --parents -- file # includes J I
+check_outcome failure '(LH)M (G)L (G)H' G..M --parents -- file # includes J I
 check_result 'M L J I H' G..M --full-history -- file
 check_result 'M L K J I H' G..M --full-history --parents -- file
 check_result 'M H L J I' G..M --simplify-merges -- file
@@ -162,10 +162,10 @@ check_result 'M H L J I' G..M --ancestry-path --simplify-merges -- file
 # we can't decide if the merge from INTERESTING commit C was sensible.
 check_result 'F D C' B..F
 check_result 'F' B..F -- file
-check_outcome failure 'F' B..F --parents -- file # includes D
+check_outcome failure '(B)F' B..F --parents -- file # includes D
 check_outcome failure 'F D' B..F --full-history -- file # drops D prematurely
-check_result 'F D' B..F --full-history --parents -- file
-check_result 'F' B..F --simplify-merges -- file
+check_result '(D)F (BA)D' B..F --full-history --parents -- file
+check_result '(B)F' B..F --simplify-merges -- file
 check_result 'F D' B..F --ancestry-path
 check_result 'F' B..F --ancestry-path -- file
 check_outcome failure 'F' B..F --ancestry-path --parents -- file # includes D
@@ -181,10 +181,10 @@ check_result 'F' E...F -- file
 # and it differs from it.
 check_result 'F D B' C..F
 check_result 'F B' C..F -- file
-check_result 'F B' C..F --parents -- file
+check_result '(B)F (A)B' C..F --parents -- file
 check_outcome failure 'F D B' C..F --full-history -- file # drops D
-check_result 'F D B' C..F --full-history --parents -- file
-check_result 'F D B' C..F --simplify-merges -- file
+check_result '(D)F (BC)D (A)B' C..F --full-history --parents -- file
+check_result '(D)F (BC)D (A)B' C..F --simplify-merges -- file
 check_result 'F D' C..F --ancestry-path
 check_outcome failure 'F D' C..F --ancestry-path -- file # drops D
 check_result 'F D' C..F --ancestry-path --parents -- file
-- 
1.8.3.rc0.28.g4b02ef5
Previous: Kevin BraceyNext: Kevin Bracey
Message 6 of 16 in “History traversal refinements”
  1. 00/15 History traversal refinementsKevin Bracey, May 16, 2013
  2. 01/15 decorate.c: compact table when growingKevin Bracey, May 16, 2013
  3. 02/15 t6019: test file dropped in -s ours mergeKevin Bracey, May 16, 2013
  4. 03/15 t6111: new TREESAME test setKevin Bracey, May 16, 2013
  5. 04/15 t6111: allow checking the parents as wellKevin Bracey, May 16, 2013
  6. 05/15 t6111: add parents to testsKevin Bracey, May 16, 2013
  7. 06/15 rev-list-options.txt: correct TREESAME for PKevin Bracey, May 16, 2013
  8. 07/15 Documentation: avoid "uninteresting"Kevin Bracey, May 16, 2013
  9. 08/15 revision.c: Make --full-history consider more mergesKevin Bracey, May 16, 2013
  10. 09/15 t6012: update test for tweaked full-history traversalKevin Bracey, May 16, 2013
  11. 10/15 simplify-merges: never remove all TREESAME parentsKevin Bracey, May 16, 2013
  12. 11/15 simplify-merges: drop merge from irrelevant side branchKevin Bracey, May 16, 2013
  13. 12/15 revision.c: add BOTTOM flag for commitsKevin Bracey, May 16, 2013
  14. 13/15 revision.c: discount side branches when computing TREESAMEKevin Bracey, May 16, 2013
  15. 14/15 revision.c: don't show all merges for --parentsKevin Bracey, May 16, 2013
  16. 15/15 revision.c: make default history consider bottom commitsKevin Bracey, May 16, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.