| #!/bin/sh |
| |
| test_description='blame output in various formats on a simple case' |
| . ./test-lib.sh |
| |
| test_expect_success 'setup' ' |
| echo a >file && |
| git add file && |
| test_tick && |
| git commit -m one && |
| echo b >>file && |
| echo c >>file && |
| echo d >>file && |
| test_tick && |
| git commit -a -m two |
| ' |
| |
| cat >expect <<'EOF' |
| ^baf5e0b (A U Thor 2005-04-07 15:13:13 -0700 1) a |
| 8825379d (A U Thor 2005-04-07 15:14:13 -0700 2) b |
| 8825379d (A U Thor 2005-04-07 15:14:13 -0700 3) c |
| 8825379d (A U Thor 2005-04-07 15:14:13 -0700 4) d |
| EOF |
| test_expect_success 'normal blame output' ' |
| git blame file >actual && |
| test_cmp expect actual |
| ' |
| |
| ID1=baf5e0b3869e0b2b2beb395a3720c7b51eac94fc |
| COMMIT1='author A U Thor |
| author-mail <author@example.com> |
| author-time 1112911993 |
| author-tz -0700 |
| committer C O Mitter |
| committer-mail <committer@example.com> |
| committer-time 1112911993 |
| committer-tz -0700 |
| summary one |
| boundary |
| filename file' |
| ID2=8825379dfb8a1267b58e8e5bcf69eec838f685ec |
| COMMIT2='author A U Thor |
| author-mail <author@example.com> |
| author-time 1112912053 |
| author-tz -0700 |
| committer C O Mitter |
| committer-mail <committer@example.com> |
| committer-time 1112912053 |
| committer-tz -0700 |
| summary two |
| previous baf5e0b3869e0b2b2beb395a3720c7b51eac94fc file |
| filename file' |
| |
| cat >expect <<EOF |
| $ID1 1 1 1 |
| $COMMIT1 |
| a |
| $ID2 2 2 3 |
| $COMMIT2 |
| b |
| $ID2 3 3 |
| c |
| $ID2 4 4 |
| d |
| EOF |
| test_expect_success 'blame --porcelain output' ' |
| git blame --porcelain file >actual && |
| test_cmp expect actual |
| ' |
| |
| cat >expect <<EOF |
| $ID1 1 1 1 |
| $COMMIT1 |
| a |
| $ID2 2 2 3 |
| $COMMIT2 |
| b |
| $ID2 3 3 |
| $COMMIT2 |
| c |
| $ID2 4 4 |
| $COMMIT2 |
| d |
| EOF |
| test_expect_success 'blame --line-porcelain output' ' |
| git blame --line-porcelain file >actual && |
| test_cmp expect actual |
| ' |
| |
| test_done |