diff options
author | Junio C Hamano <gitster@pobox.com> | 2016-08-10 12:33:17 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-08-10 12:33:17 -0700 |
commit | 24fbe004904f95ea07f22fea4e4c02a632149d73 (patch) | |
tree | f2caff74a5ef0d89df2c170ea5784847addbfd40 | |
parent | Sync with maint (diff) | |
parent | am: reset cached ident date for each patch (diff) | |
download | tgif-24fbe004904f95ea07f22fea4e4c02a632149d73.tar.xz |
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.c | 2 | ||||
-rw-r--r-- | cache.h | 1 | ||||
-rw-r--r-- | ident.c | 5 |
3 files changed, 8 insertions, 0 deletions
diff --git a/builtin/am.c b/builtin/am.c index b77bf11ace..8aa9b5b936 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; @@ -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; @@ -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 || |