diff options
author | Junio C Hamano <gitster@pobox.com> | 2015-11-03 23:13:09 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-11-03 23:13:10 (GMT) |
commit | 6784eb5ad93da15d24a5d111a3d6df618f98532f (patch) | |
tree | 1c0311803176e831745024d632c146dd21a9808e /t/t8009-blame-vs-topicbranches.sh | |
parent | a59d1d8035a1a6d878274e97818c56bb691ac5c0 (diff) | |
parent | 700fd28e4f3ecd6e7b5f8f2098e62ffef9ab958b (diff) | |
download | git-6784eb5ad93da15d24a5d111a3d6df618f98532f.zip git-6784eb5ad93da15d24a5d111a3d6df618f98532f.tar.gz git-6784eb5ad93da15d24a5d111a3d6df618f98532f.tar.bz2 |
Merge branch 'mk/blame-first-parent'
"git blame" learnt to take "--first-parent" and "--reverse" at the
same time when it makes sense.
* mk/blame-first-parent:
blame: allow blame --reverse --first-parent when it makes sense
blame: extract find_single_final
blame: test to describe use of blame --reverse --first-parent
Diffstat (limited to 't/t8009-blame-vs-topicbranches.sh')
-rwxr-xr-x | t/t8009-blame-vs-topicbranches.sh | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/t/t8009-blame-vs-topicbranches.sh b/t/t8009-blame-vs-topicbranches.sh new file mode 100755 index 0000000..72596e3 --- /dev/null +++ b/t/t8009-blame-vs-topicbranches.sh @@ -0,0 +1,36 @@ +#!/bin/sh + +test_description='blaming trough history with topic branches' +. ./test-lib.sh + +# Creates the history shown below. '*'s mark the first parent in the merges. +# The only line of file.t is changed in commit B2 +# +# +---C1 +# / \ +# A0--A1--*A2--*A3 +# \ / +# B1-B2 +# +test_expect_success setup ' + test_commit A0 file.t line0 && + test_commit A1 && + git reset --hard A0 && + test_commit B1 && + test_commit B2 file.t line0changed && + git reset --hard A1 && + test_merge A2 B2 && + git reset --hard A1 && + test_commit C1 && + git reset --hard A2 && + test_merge A3 C1 + ' + +test_expect_success 'blame --reverse --first-parent finds A1' ' + git blame --porcelain --reverse --first-parent A0..A3 -- file.t >actual_full && + head -n 1 <actual_full | sed -e "s/ .*//" >actual && + git rev-parse A1 >expect && + test_cmp expect actual + ' + +test_done |