summaryrefslogtreecommitdiff
path: root/t/t6015-rev-list-show-all-parents.sh
diff options
context:
space:
mode:
authorAdam Simpkins <simpkins@facebook.com>2009-08-18 19:34:33 -0700
committerJunio C Hamano <gitster@pobox.com>2009-08-21 12:41:25 -0700
commitbeb5af43a6114b551f14bc13f1beecfe8de930d9 (patch)
tree4b86d035b89aec399e129669a5e162b478adf322 /t/t6015-rev-list-show-all-parents.sh
parent83e355a62cd05fba4533d59f9ab4e104c0596279 (diff)
downloadgit-beb5af43a6114b551f14bc13f1beecfe8de930d9.tar.gz
graph API: fix bug in graph_is_interesting()
Previously, graph_is_interesting() did not behave quite the same way as the code in get_revision(). As a result, it would sometimes think commits were uninteresting, even though get_revision() would return them. This resulted in incorrect lines in the graph output. This change creates a get_commit_action() function, which graph_is_interesting() and simplify_commit() both now use to determine if a commit will be shown. It is identical to the old simplify_commit() behavior, except that it never calls rewrite_parents(). This problem was reported by Santi BĂ©jar. The following command would exhibit the problem before, but now works correctly: git log --graph --simplify-by-decoration --oneline v1.6.3.3 Previously git graph did not display the output for this command correctly between f29ac4f and 66996ec, among other places. Signed-off-by: Adam Simpkins <simpkins@facebook.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t6015-rev-list-show-all-parents.sh')
-rwxr-xr-xt/t6015-rev-list-show-all-parents.sh31
1 files changed, 31 insertions, 0 deletions
diff --git a/t/t6015-rev-list-show-all-parents.sh b/t/t6015-rev-list-show-all-parents.sh
new file mode 100755
index 0000000000..8b146fb432
--- /dev/null
+++ b/t/t6015-rev-list-show-all-parents.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+test_description='--show-all --parents does not rewrite TREESAME commits'
+
+. ./test-lib.sh
+
+test_expect_success 'set up --show-all --parents test' '
+ test_commit one foo.txt &&
+ commit1=`git rev-list -1 HEAD` &&
+ test_commit two bar.txt &&
+ commit2=`git rev-list -1 HEAD` &&
+ test_commit three foo.txt &&
+ commit3=`git rev-list -1 HEAD`
+ '
+
+test_expect_success '--parents rewrites TREESAME parents correctly' '
+ echo $commit3 $commit1 > expected &&
+ echo $commit1 >> expected &&
+ git rev-list --parents HEAD -- foo.txt > actual &&
+ test_cmp expected actual
+ '
+
+test_expect_success '--parents --show-all does not rewrites TREESAME parents' '
+ echo $commit3 $commit2 > expected &&
+ echo $commit2 $commit1 >> expected &&
+ echo $commit1 >> expected &&
+ git rev-list --parents --show-all HEAD -- foo.txt > actual &&
+ test_cmp expected actual
+ '
+
+test_done