builtin-am: implement --ignore-date

Since a79ec62 (git-am: Add --ignore-date option, 2009-01-24), git-am.sh supported the --ignore-date option, and would use the current timestamp instead of the one provided in the patch if the option was set. Re-implement this option in builtin/am.c. Signed-off-by: Paul Tan <pyokagan@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Paul Tan committed Aug 4, 2015 at 21:51 UTC f07adb62f292eec0d10fd10b0812800afb03363c
1 file changed +5 -1
builtin/am.c
+5 -1
@@ -108,6 +108,7 @@ struct am_state {
108 int scissors; /* enum scissors_type */
109 struct argv_array git_apply_opts;
110 const char *resolvemsg;
111 + int ignore_date;
112 int rebasing;
113 };
114
@@ -1217,7 +1218,8 @@ static void do_commit(const struct am_state *state)
1218 }
1219
1220 author = fmt_ident(state->author_name, state->author_email,
1220 - state->author_date, IDENT_STRICT);
1221 + state->ignore_date ? NULL : state->author_date,
1222 + IDENT_STRICT);
1223
1224 if (commit_tree(state->msg, state->msg_len, tree, parents, commit,
1225 author, NULL))
@@ -1661,6 +1663,8 @@ int cmd_am(int argc, const char **argv, const char *prefix)
1663 OPT_CMDMODE(0, "abort", &resume,
1664 N_("restore the original branch and abort the patching operation."),
1665 RESUME_ABORT),
1666 + OPT_BOOL(0, "ignore-date", &state.ignore_date,
1667 + N_("use current timestamp for author date")),
1668 OPT_HIDDEN_BOOL(0, "rebasing", &state.rebasing,
1669 N_("(internal use for git-rebase)")),
1670 OPT_END()