Browse Source

Merge branch 'jk/reset-ident-time-per-commit' into maint

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
maint
Junio C Hamano 9 years ago
parent
commit
f4fd627661
  1. 2
      builtin/am.c
  2. 1
      cache.h
  3. 5
      ident.c

2
builtin/am.c

@ -1839,6 +1839,8 @@ static void am_run(struct am_state *state, int resume) @@ -1839,6 +1839,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;


1
cache.h

@ -1262,6 +1262,7 @@ extern const char *ident_default_email(void); @@ -1262,6 +1262,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;

5
ident.c

@ -184,6 +184,11 @@ static const char *ident_default_date(void) @@ -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 ||

Loading…
Cancel
Save