summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2016-08-10 19:33:17 (GMT)
committerJunio C Hamano <gitster@pobox.com>2016-08-10 19:33:17 (GMT)
commit24fbe004904f95ea07f22fea4e4c02a632149d73 (patch)
treef2caff74a5ef0d89df2c170ea5784847addbfd40
parenta0a1831b034af10e5d5b37b99489a7558f9cc547 (diff)
parent4d9c7e6f45523ce1bf9615689e6c4e13fd82ed5d (diff)
downloadgit-24fbe004904f95ea07f22fea4e4c02a632149d73.zip
git-24fbe004904f95ea07f22fea4e4c02a632149d73.tar.gz
git-24fbe004904f95ea07f22fea4e4c02a632149d73.tar.bz2
Merge branch 'jk/reset-ident-time-per-commit'
Not-so-recent rewrite of "git am" that started making internal calls into the commit machinery had an unintended regression, in that no matter how many seconds it took to apply many patches, the resulting committer timestamp for the resulting commits were all the same. * jk/reset-ident-time-per-commit: am: reset cached ident date for each patch
-rw-r--r--builtin/am.c2
-rw-r--r--cache.h1
-rw-r--r--ident.c5
3 files changed, 8 insertions, 0 deletions
diff --git a/builtin/am.c b/builtin/am.c
index b77bf11..8aa9b5b 100644
--- a/builtin/am.c
+++ b/builtin/am.c
@@ -1840,6 +1840,8 @@ static void am_run(struct am_state *state, int resume)
const char *mail = am_path(state, msgnum(state));
int apply_status;
+ reset_ident_date();
+
if (!file_exists(mail))
goto next;
diff --git a/cache.h b/cache.h
index 7c8051b..95a0bd3 100644
--- a/cache.h
+++ b/cache.h
@@ -1270,6 +1270,7 @@ extern const char *ident_default_email(void);
extern const char *git_editor(void);
extern const char *git_pager(int stdout_is_tty);
extern int git_ident_config(const char *, const char *, void *);
+extern void reset_ident_date(void);
struct ident_split {
const char *name_begin;
diff --git a/ident.c b/ident.c
index 139c528..e20a772 100644
--- a/ident.c
+++ b/ident.c
@@ -184,6 +184,11 @@ static const char *ident_default_date(void)
return git_default_date.buf;
}
+void reset_ident_date(void)
+{
+ strbuf_reset(&git_default_date);
+}
+
static int crud(unsigned char c)
{
return c <= 32 ||