mirror of
https://github.com/git/git.git
synced 2024-12-12 11:24:02 +08:00
425b8a22aa
In particular, the final test ('flags and then non flags') fails intermittently, depending on how much time elapsed between the invocations of "git commit-tree" when creating the commits which later have their commit id's compared. For example, if the commits for childid-3 and childid-4 are created 1 or more seconds apart, then the commits, which would otherwise be identical, will have different commit id's. In order to make the test reproducible, we remove the variability by setting the author and committer times to a well defined state. We accomplish this with a single call to 'test_tick' at the start of the test. Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
64 lines
1.7 KiB
Bash
Executable File
64 lines
1.7 KiB
Bash
Executable File
#!/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
|