builtin rebase: support `ignore-date` option
authorPratik Karki <predatoramigo@gmail.com>
Tue, 4 Sep 2018 21:59:56 +0000 (14:59 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 6 Sep 2018 18:56:20 +0000 (11:56 -0700)
This commit adds support for `--ignore-date` which is passed to `git am`
to easily change the dates of the rebased commits.

Signed-off-by: Pratik Karki <predatoramigo@gmail.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/rebase.c
index f023fb4339c3add658c452789acc4025c7821497..0f3e156daca6a5634e52dbdbbd480738bb353dad 100644 (file)
@@ -527,6 +527,7 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
                ACTION_SHOW_CURRENT_PATCH,
        } action = NO_ACTION;
        int committer_date_is_author_date = 0;
+       int ignore_date = 0;
        int ignore_whitespace = 0;
        struct option builtin_rebase_options[] = {
                OPT_STRING(0, "onto", &options.onto_name,
@@ -550,6 +551,8 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
                OPT_BOOL(0, "committer-date-is-author-date",
                         &committer_date_is_author_date,
                         N_("passed to 'git am'")),
+               OPT_BOOL(0, "ignore-date", &ignore_date,
+                        N_("passed to 'git am'")),
                OPT_BIT('f', "force-rebase", &options.flags,
                        N_("cherry-pick all commits, even if unchanged"),
                        REBASE_FORCE),
@@ -779,6 +782,11 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
        if (ignore_whitespace)
                strbuf_addstr(&options.git_am_opt, " --ignore-whitespace");
 
+       if (ignore_date) {
+               strbuf_addstr(&options.git_am_opt, " --ignore-date");
+               options.flags |= REBASE_FORCE;
+       }
+
        switch (options.type) {
        case REBASE_MERGE:
        case REBASE_INTERACTIVE: