Subject: Re: builtin commit series sent

From: "Shawn O. Pearce" <[email-masked]>
Date: Wed, 5 Sep 2007 22:09:53 -0400

Kristian Hgsberg <[email-masked]> wrote:
> There's one test that doesn't look right to me:
> t1400-update-ref.sh.  The 'creating initial files' case does a git
> commit --amend and apparently expect to commit the changed contents of
> the file F, even though it hasn't been added to the index.  Similarly,
> there's a git commit -F M just below it that does the same thing.  I'm
> not sure how they pass with the shell script commit...

Yea.  It doesn't actually matter in this test.  The following
patch can be applied and the test will still pass:

diff --git a/t/t1400-update-ref.sh b/t/t1400-update-ref.sh
index c4c0dfa..ce045b2 100755
--- a/t/t1400-update-ref.sh
+++ b/t/t1400-update-ref.sh
@@ -198,11 +198,9 @@ test_expect_success \
 	 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" \

The reason is the test is looking for a very specific date and
time in the branch's reflog.  The reflog entry is not impacted by
editing F.  Since the commit date is different here the --amend
created a different commit object, which was all that mattered.

Actually I think we probably should just apply the above patch
to clean up this test case.  I'll submit it under a different
cover so Junio can more easily apply it.

-- 
Shawn.