summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Aguilar <davvid@gmail.com>2015-07-21 17:01:02 -0700
committerJunio C Hamano <gitster@pobox.com>2015-07-23 15:08:41 -0700
commite7aac44ed276bc0de0253baa8e3f5ac247044a31 (patch)
tree3d4b5d2233ee0efe48cb50b147bcf0d1c13074e7
parentbb3e7b1a5505bae590b0d85a3995a61d6dd82547 (diff)
downloadgit-da/subtree-date-confusion.tar.gz
contrib/subtree: ignore log.date configurationda/subtree-date-confusion
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>
-rwxr-xr-xcontrib/subtree/git-subtree.sh2
-rwxr-xr-xcontrib/subtree/t/t7900-subtree.sh4
2 files changed, 5 insertions, 1 deletions
diff --git a/contrib/subtree/git-subtree.sh b/contrib/subtree/git-subtree.sh
index fa1a5839af..39c7d54ce8 100755
--- a/contrib/subtree/git-subtree.sh
+++ b/contrib/subtree/git-subtree.sh
@@ -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
diff --git a/contrib/subtree/t/t7900-subtree.sh b/contrib/subtree/t/t7900-subtree.sh
index 6309d124ca..da709f96e5 100755
--- a/contrib/subtree/t/t7900-subtree.sh
+++ b/contrib/subtree/t/t7900-subtree.sh
@@ -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" &&