]> git.ipfire.org Git - thirdparty/git.git/commitdiff
builtin-am: implement --committer-date-is-author-date
authorPaul Tan <pyokagan@gmail.com>
Tue, 4 Aug 2015 13:51:52 +0000 (21:51 +0800)
committerJunio C Hamano <gitster@pobox.com>
Wed, 5 Aug 2015 05:02:11 +0000 (22:02 -0700)
Since 3f01ad6 (am: Add --committer-date-is-author-date option,
2009-01-22), git-am.sh implemented the --committer-date-is-author-date
option, which tells git-am to use the timestamp recorded in the email
message as both author and committer date.

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>
builtin/am.c

index 84d3e0519e6501408c5cc792f31c8db4bebc64e7..1561580de490de6d7af68d7b931b4bbc0c5e2e56 100644 (file)
@@ -108,6 +108,7 @@ struct am_state {
        int scissors; /* enum scissors_type */
        struct argv_array git_apply_opts;
        const char *resolvemsg;
+       int committer_date_is_author_date;
        int ignore_date;
        int rebasing;
 };
@@ -1221,6 +1222,10 @@ static void do_commit(const struct am_state *state)
                        state->ignore_date ? NULL : state->author_date,
                        IDENT_STRICT);
 
+       if (state->committer_date_is_author_date)
+               setenv("GIT_COMMITTER_DATE",
+                       state->ignore_date ? "" : state->author_date, 1);
+
        if (commit_tree(state->msg, state->msg_len, tree, parents, commit,
                                author, NULL))
                die(_("failed to write commit object"));
@@ -1663,6 +1668,9 @@ int cmd_am(int argc, const char **argv, const char *prefix)
                OPT_CMDMODE(0, "abort", &resume,
                        N_("restore the original branch and abort the patching operation."),
                        RESUME_ABORT),
+               OPT_BOOL(0, "committer-date-is-author-date",
+                       &state.committer_date_is_author_date,
+                       N_("lie about committer date")),
                OPT_BOOL(0, "ignore-date", &state.ignore_date,
                        N_("use current timestamp for author date")),
                OPT_HIDDEN_BOOL(0, "rebasing", &state.rebasing,