]>
Commit | Line | Data |
---|---|---|
ce5b6f9b SB |
1 | #!/bin/sh |
2 | ||
3 | test_description='rev-list testing in-commit-order' | |
4 | ||
5 | . ./test-lib.sh | |
6 | ||
7 | test_expect_success 'setup a commit history with trees, blobs' ' | |
8 | for x in one two three four | |
9 | do | |
10 | echo $x >$x && | |
11 | git add $x && | |
12 | git commit -m "add file $x" || | |
13 | return 1 | |
14 | done && | |
15 | for x in four three | |
16 | do | |
17 | git rm $x && | |
18 | git commit -m "remove $x" || | |
19 | return 1 | |
20 | done | |
21 | ' | |
22 | ||
23 | test_expect_success 'rev-list --in-commit-order' ' | |
24 | git rev-list --in-commit-order --objects HEAD >actual.raw && | |
25 | cut -c 1-40 >actual <actual.raw && | |
26 | ||
27 | git cat-file --batch-check="%(objectname)" >expect.raw <<-\EOF && | |
28 | HEAD^{commit} | |
29 | HEAD^{tree} | |
30 | HEAD^{tree}:one | |
31 | HEAD^{tree}:two | |
32 | HEAD~1^{commit} | |
33 | HEAD~1^{tree} | |
34 | HEAD~1^{tree}:three | |
35 | HEAD~2^{commit} | |
36 | HEAD~2^{tree} | |
37 | HEAD~2^{tree}:four | |
38 | HEAD~3^{commit} | |
39 | # HEAD~3^{tree} skipped, same as HEAD~1^{tree} | |
40 | HEAD~4^{commit} | |
41 | # HEAD~4^{tree} skipped, same as HEAD^{tree} | |
42 | HEAD~5^{commit} | |
43 | HEAD~5^{tree} | |
44 | EOF | |
45 | grep -v "#" >expect <expect.raw && | |
46 | ||
47 | test_cmp expect actual | |
48 | ' | |
49 | ||
50 | test_expect_success 'rev-list lists blobs and trees after commits' ' | |
51 | git rev-list --objects HEAD >actual.raw && | |
52 | cut -c 1-40 >actual <actual.raw && | |
53 | ||
54 | git cat-file --batch-check="%(objectname)" >expect.raw <<-\EOF && | |
55 | HEAD^{commit} | |
56 | HEAD~1^{commit} | |
57 | HEAD~2^{commit} | |
58 | HEAD~3^{commit} | |
59 | HEAD~4^{commit} | |
60 | HEAD~5^{commit} | |
61 | HEAD^{tree} | |
62 | HEAD^{tree}:one | |
63 | HEAD^{tree}:two | |
64 | HEAD~1^{tree} | |
65 | HEAD~1^{tree}:three | |
66 | HEAD~2^{tree} | |
67 | HEAD~2^{tree}:four | |
68 | # HEAD~3^{tree} skipped, same as HEAD~1^{tree} | |
69 | # HEAD~4^{tree} skipped, same as HEAD^{tree} | |
70 | HEAD~5^{tree} | |
71 | EOF | |
72 | grep -v "#" >expect <expect.raw && | |
73 | ||
74 | test_cmp expect actual | |
75 | ' | |
76 | ||
77 | test_done |