| test_description='rev-list testing in-commit-order' |
| test_expect_success 'setup a commit history with trees, blobs' ' |
| for x in one two three four |
| git commit -m "add file $x" || |
| git commit -m "remove $x" || |
| test_expect_success 'rev-list --in-commit-order' ' |
| git rev-list --in-commit-order --objects HEAD >actual.raw && |
| cut -d" " -f1 >actual <actual.raw && |
| git cat-file --batch-check="%(objectname)" >expect.raw <<-\EOF && |
| # HEAD~3^{tree} skipped, same as HEAD~1^{tree} |
| # HEAD~4^{tree} skipped, same as HEAD^{tree} |
| grep -v "#" >expect <expect.raw && |
| test_expect_success 'rev-list lists blobs and trees after commits' ' |
| git rev-list --objects HEAD >actual.raw && |
| cut -d" " -f1 >actual <actual.raw && |
| git cat-file --batch-check="%(objectname)" >expect.raw <<-\EOF && |
| # HEAD~3^{tree} skipped, same as HEAD~1^{tree} |
| # HEAD~4^{tree} skipped, same as HEAD^{tree} |
| grep -v "#" >expect <expect.raw && |