#!/bin/sh # # Copyright (C) 2005 Rene Scharfe # setvar 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. '' source ./test-lib.sh cat >expected <<< """ tree $EMPTY_TREE author Author Name 1117148400 +0000 committer Committer Name 1117150200 +0000 comment text """ 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