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