tvl-depot/t/t8009-blame-vs-topicbranches.sh
Vincent Ambo 1b593e1ea4 Squashed 'third_party/git/' content from commit cb71568594
git-subtree-dir: third_party/git
git-subtree-split: cb715685942260375e1eb8153b0768a376e4ece7
2020-01-11 23:36:56 +00:00

36 lines
857 B
Bash
Executable file

#!/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