contrib/subtree: ignore log.date configuration

git-subtree's log format string uses "%ad" and "%cd", which
respect the user's configured log.date value.

This is problematic for git-subtree because it needs to use real
dates so that copied commits come through unchanged.

Add a test and tweak the format strings to use %aD and %cD
so that the default date format is used instead.

Reported-by: Bryan Jacobs <b@q3q.us>
Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
David Aguilar 2015-07-21 17:01:02 -07:00 committed by Junio C Hamano
parent bb3e7b1a55
commit e7aac44ed2
2 changed files with 5 additions and 1 deletions

View File

@ -298,7 +298,7 @@ copy_commit()
# We're going to set some environment vars here, so
# do it in a subshell to get rid of them safely later
debug copy_commit "{$1}" "{$2}" "{$3}"
git log -1 --pretty=format:'%an%n%ae%n%ad%n%cn%n%ce%n%cd%n%B' "$1" |
git log -1 --pretty=format:'%an%n%ae%n%aD%n%cn%n%ce%n%cD%n%B' "$1" |
(
read GIT_AUTHOR_NAME
read GIT_AUTHOR_EMAIL

View File

@ -94,6 +94,10 @@ test_expect_success 'add sub3' '
# Back to mainline
cd ..
test_expect_success 'enable log.date=relative to catch errors' '
git config log.date relative
'
test_expect_success 'add main4' '
create main4 &&
git commit -m "main4" &&