#!/bin/sh
#
# Copyright (c) 2006 Shawn Pearce
#

test_description='Test git-update-ref and basic ref logging'
. ./test-lib.sh

Z=0000000000000000000000000000000000000000
A=1111111111111111111111111111111111111111
B=2222222222222222222222222222222222222222
C=3333333333333333333333333333333333333333
D=4444444444444444444444444444444444444444
E=5555555555555555555555555555555555555555
F=6666666666666666666666666666666666666666
m=refs/heads/master

test_expect_success \
	"create $m" \
	'git-update-ref $m $A &&
	 test $A = $(cat .git/$m)'
test_expect_success \
	"create $m" \
	'git-update-ref $m $B $A &&
	 test $B = $(cat .git/$m)'
rm -f .git/$m

test_expect_success \
	"create $m (by HEAD)" \
	'git-update-ref HEAD $A &&
	 test $A = $(cat .git/$m)'
test_expect_success \
	"create $m (by HEAD)" \
	'git-update-ref HEAD $B $A &&
	 test $B = $(cat .git/$m)'
rm -f .git/$m

test_expect_failure \
	'(not) create HEAD with old sha1' \
	'git-update-ref HEAD $A $B'
test_expect_failure \
	"(not) prior created .git/$m" \
	'test -f .git/$m'
rm -f .git/$m

test_expect_success \
	"create HEAD" \
	'git-update-ref HEAD $A'
test_expect_failure \
	'(not) change HEAD with wrong SHA1' \
	'git-update-ref HEAD $B $Z'
test_expect_failure \
	"(not) changed .git/$m" \
	'test $B = $(cat .git/$m)'
rm -f .git/$m

mkdir -p .git/logs/refs/heads
touch .git/logs/refs/heads/master
test_expect_success \
	"create $m (logged by touch)" \
	'GIT_COMMITTER_DATE="2005-05-26 23:30" \
	 git-update-ref HEAD $A -m "Initial Creation" &&
	 test $A = $(cat .git/$m)'
test_expect_success \
	"update $m (logged by touch)" \
	'GIT_COMMITTER_DATE="2005-05-26 23:31" \
	 git-update-ref HEAD $B $A -m "Switch" &&
	 test $B = $(cat .git/$m)'
test_expect_success \
	"set $m (logged by touch)" \
	'GIT_COMMITTER_DATE="2005-05-26 23:41" \
	 git-update-ref HEAD $A &&
	 test $A = $(cat .git/$m)'

cat >expect <<EOF
$Z $A $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150200 +0000	Initial Creation
$A $B $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150260 +0000	Switch
$B $A $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150860 +0000
EOF
test_expect_success \
	"verifying $m's log" \
	'diff expect .git/logs/$m'
rm -rf .git/$m .git/logs expect

test_expect_success \
	'enable core.logAllRefUpdates' \
	'git-repo-config core.logAllRefUpdates true &&
	 test true = $(git-repo-config --bool --get core.logAllRefUpdates)'

test_expect_success \
	"create $m (logged by config)" \
	'GIT_COMMITTER_DATE="2005-05-26 23:32" \
	 git-update-ref HEAD $A -m "Initial Creation" &&
	 test $A = $(cat .git/$m)'
test_expect_success \
	"update $m (logged by config)" \
	'GIT_COMMITTER_DATE="2005-05-26 23:33" \
	 git-update-ref HEAD $B $A -m "Switch" &&
	 test $B = $(cat .git/$m)'
test_expect_success \
	"set $m (logged by config)" \
	'GIT_COMMITTER_DATE="2005-05-26 23:43" \
	 git-update-ref HEAD $A &&
	 test $A = $(cat .git/$m)'

cat >expect <<EOF
$Z $A $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150320 +0000	Initial Creation
$A $B $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150380 +0000	Switch
$B $A $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150980 +0000
EOF
test_expect_success \
	"verifying $m's log" \
	'diff expect .git/logs/$m'
rm -f .git/$m .git/logs/$m expect

git-update-ref $m $D
cat >.git/logs/$m <<EOF
$C $A $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150320 -0500
$A $B $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150380 -0500
$F $Z $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150680 -0500
$Z $E $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150980 -0500
EOF

ed="Thu, 26 May 2005 18:32:00 -0500"
gd="Thu, 26 May 2005 18:33:00 -0500"
ld="Thu, 26 May 2005 18:43:00 -0500"
test_expect_success \
	'Query "master@{May 25 2005}" (before history)' \
	'rm -f o e
	 git-rev-parse --verify "master@{May 25 2005}" >o 2>e &&
	 test $C = $(cat o) &&
	 test "warning: Log .git/logs/$m only goes back to $ed." = "$(cat e)"'
test_expect_success \
	"Query master@{2005-05-25} (before history)" \
	'rm -f o e
	 git-rev-parse --verify master@{2005-05-25} >o 2>e &&
	 test $C = $(cat o) &&
	 echo test "warning: Log .git/logs/$m only goes back to $ed." = "$(cat e)"'
test_expect_success \
	'Query "master@{May 26 2005 23:31:59}" (1 second before history)' \
	'rm -f o e
	 git-rev-parse --verify "master@{May 26 2005 23:31:59}" >o 2>e &&
	 test $C = $(cat o) &&
	 test "warning: Log .git/logs/$m only goes back to $ed." = "$(cat e)"'
test_expect_success \
	'Query "master@{May 26 2005 23:32:00}" (exactly history start)' \
	'rm -f o e
	 git-rev-parse --verify "master@{May 26 2005 23:32:00}" >o 2>e &&
	 test $A = $(cat o) &&
	 test "" = "$(cat e)"'
test_expect_success \
	'Query "master@{2005-05-26 23:33:01}" (middle of history with gap)' \
	'rm -f o e
	 git-rev-parse --verify "master@{2005-05-26 23:33:01}" >o 2>e &&
	 test $B = $(cat o) &&
	 test "warning: Log .git/logs/$m has gap after $gd." = "$(cat e)"'
test_expect_success \
	'Query "master@{2005-05-26 23:38:00}" (middle of history)' \
	'rm -f o e
	 git-rev-parse --verify "master@{2005-05-26 23:38:00}" >o 2>e &&
	 test $Z = $(cat o) &&
	 test "" = "$(cat e)"'
test_expect_success \
	'Query "master@{2005-05-26 23:43:00}" (exact end of history)' \
	'rm -f o e
	 git-rev-parse --verify "master@{2005-05-26 23:43:00}" >o 2>e &&
	 test $E = $(cat o) &&
	 test "" = "$(cat e)"'
test_expect_success \
	'Query "master@{2005-05-28}" (past end of history)' \
	'rm -f o e
	 git-rev-parse --verify "master@{2005-05-28}" >o 2>e &&
	 test $D = $(cat o) &&
	 test "warning: Log .git/logs/$m unexpectedly ended on $ld." = "$(cat e)"'


rm -f .git/$m .git/logs/$m expect

test_expect_success \
    'creating initial files' \
    'echo TEST >F &&
     git-add F &&
	 GIT_AUTHOR_DATE="2005-05-26 23:30" \
	 GIT_COMMITTER_DATE="2005-05-26 23:30" git-commit -m add -a &&
	 h_TEST=$(git-rev-parse --verify HEAD)
	 echo The other day this did not work. >M &&
	 echo And then Bob told me how to fix it. >>M &&
	 echo OTHER >F &&
	 GIT_AUTHOR_DATE="2005-05-26 23:41" \
	 GIT_COMMITTER_DATE="2005-05-26 23:41" git-commit -F M -a &&
	 h_OTHER=$(git-rev-parse --verify HEAD) &&
	 echo FIXED >F &&
	 GIT_AUTHOR_DATE="2005-05-26 23:44" \
	 GIT_COMMITTER_DATE="2005-05-26 23:44" git-commit --amend &&
	 h_FIXED=$(git-rev-parse --verify HEAD) &&
	 echo TEST+FIXED >F &&
	 echo Merged initial commit and a later commit. >M &&
	 echo $h_TEST >.git/MERGE_HEAD &&
	 GIT_AUTHOR_DATE="2005-05-26 23:45" \
	 GIT_COMMITTER_DATE="2005-05-26 23:45" git-commit -F M &&
	 h_MERGED=$(git-rev-parse --verify HEAD)
	 rm -f M'

cat >expect <<EOF
$Z $h_TEST $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150200 +0000	commit (initial): add
$h_TEST $h_OTHER $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150860 +0000	commit: The other day this did not work.
$h_OTHER $h_FIXED $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117151040 +0000	commit (amend): The other day this did not work.
$h_FIXED $h_MERGED $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117151100 +0000	commit (merge): Merged initial commit and a later commit.
EOF
test_expect_success \
	'git-commit logged updates' \
	'diff expect .git/logs/$m'
unset h_TEST h_OTHER h_FIXED h_MERGED

test_expect_success \
	'git-cat-file blob master:F (expect OTHER)' \
	'test OTHER = $(git-cat-file blob master:F)'
test_expect_success \
	'git-cat-file blob master@{2005-05-26 23:30}:F (expect TEST)' \
	'test TEST = $(git-cat-file blob "master@{2005-05-26 23:30}:F")'
test_expect_success \
	'git-cat-file blob master@{2005-05-26 23:42}:F (expect OTHER)' \
	'test OTHER = $(git-cat-file blob "master@{2005-05-26 23:42}:F")'

test_done
