1#!/bin/sh
2
3test_description='Test reflog display routines'
4. ./test-lib.sh
5
6test_expect_success 'setup' '
7 echo content >file &&
8 git add file &&
9 test_tick &&
10 git commit -m one
11'
12
13cat >expect <<'EOF'
14Reflog: HEAD@{0} (C O Mitter <committer@example.com>)
15Reflog message: commit (initial): one
16EOF
17test_expect_success 'log -g shows reflog headers' '
18 git log -g -1 >tmp &&
19 grep ^Reflog <tmp >actual &&
20 test_cmp expect actual
21'
22
23cat >expect <<'EOF'
24e46513e HEAD@{0}: commit (initial): one
25EOF
26test_expect_success 'oneline reflog format' '
27 git log -g -1 --oneline >actual &&
28 test_cmp expect actual
29'
30
31test_expect_success 'reflog default format' '
32 git reflog -1 >actual &&
33 test_cmp expect actual
34'
35
36cat >expect <<'EOF'
37commit e46513e
38Reflog: HEAD@{0} (C O Mitter <committer@example.com>)
39Reflog message: commit (initial): one
40Author: A U Thor <author@example.com>
41
42 one
43EOF
44test_expect_success 'override reflog default format' '
45 git reflog --format=short -1 >actual &&
46 test_cmp expect actual
47'
48
49cat >expect <<'EOF'
50Reflog: HEAD@{Thu Apr 7 15:13:13 2005 -0700} (C O Mitter <committer@example.com>)
51Reflog message: commit (initial): one
52EOF
53test_expect_success 'using @{now} syntax shows reflog date (multiline)' '
54 git log -g -1 HEAD@{now} >tmp &&
55 grep ^Reflog <tmp >actual &&
56 test_cmp expect actual
57'
58
59cat >expect <<'EOF'
60e46513e HEAD@{Thu Apr 7 15:13:13 2005 -0700}: commit (initial): one
61EOF
62test_expect_success 'using @{now} syntax shows reflog date (oneline)' '
63 git log -g -1 --oneline HEAD@{now} >actual &&
64 test_cmp expect actual
65'
66
67cat >expect <<'EOF'
68Reflog: HEAD@{1112911993 -0700} (C O Mitter <committer@example.com>)
69Reflog message: commit (initial): one
70EOF
71test_expect_success 'using --date= shows reflog date (multiline)' '
72 git log -g -1 --date=raw >tmp &&
73 grep ^Reflog <tmp >actual &&
74 test_cmp expect actual
75'
76
77cat >expect <<'EOF'
78e46513e HEAD@{1112911993 -0700}: commit (initial): one
79EOF
80test_expect_success 'using --date= shows reflog date (oneline)' '
81 git log -g -1 --oneline --date=raw >actual &&
82 test_cmp expect actual
83'
84
85: >expect
86test_expect_success 'empty reflog file' '
87 git branch empty &&
88 : >.git/logs/refs/heads/empty &&
89
90 git log -g empty >actual &&
91 test_cmp expect actual
92'
93
94test_done