Re: builtin commit series sent
From: Shawn O. Pearce <hidden>
Date: 2016-06-15 22:43:33
Subsystem:
the rest · Maintainer:
Linus Torvalds
Kristian Hgsberg [off-list ref] 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.