| #!/bin/sh | |
| # | |
| # Copyright (C) 2005 Rene Scharfe | |
| # | |
| test_description='git commit-tree options test | |
| This test checks that git commit-tree can create a specific commit | |
| object by defining all environment variables that it understands. | |
| Also make sure that command line parser understands the normal | |
| "flags first and then non flag arguments" command line. | |
| ' | |
| . ./test-lib.sh | |
| cat >expected <<EOF | |
| tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904 | |
| author Author Name <author@email> 1117148400 +0000 | |
| committer Committer Name <committer@email> 1117150200 +0000 | |
| comment text | |
| EOF | |
| test_expect_success \ | |
| 'test preparation: write empty tree' \ | |
| 'git write-tree >treeid' | |
| test_expect_success \ | |
| 'construct commit' \ | |
| 'echo comment text | | |
| GIT_AUTHOR_NAME="Author Name" \ | |
| GIT_AUTHOR_EMAIL="author@email" \ | |
| GIT_AUTHOR_DATE="2005-05-26 23:00" \ | |
| GIT_COMMITTER_NAME="Committer Name" \ | |
| GIT_COMMITTER_EMAIL="committer@email" \ | |
| GIT_COMMITTER_DATE="2005-05-26 23:30" \ | |
| TZ=GMT git commit-tree `cat treeid` >commitid 2>/dev/null' | |
| test_expect_success \ | |
| 'read commit' \ | |
| 'git cat-file commit `cat commitid` >commit' | |
| test_expect_success \ | |
| 'compare commit' \ | |
| 'test_cmp expected commit' | |
| test_expect_success 'flags and then non flags' ' | |
| test_tick && | |
| echo comment text | | |
| git commit-tree $(cat treeid) >commitid && | |
| echo comment text | | |
| git commit-tree $(cat treeid) -p $(cat commitid) >childid-1 && | |
| echo comment text | | |
| git commit-tree -p $(cat commitid) $(cat treeid) >childid-2 && | |
| test_cmp childid-1 childid-2 && | |
| git commit-tree $(cat treeid) -m foo >childid-3 && | |
| git commit-tree -m foo $(cat treeid) >childid-4 && | |
| test_cmp childid-3 childid-4 | |
| ' | |
| test_done |