From: Carlos Martín Nieto Date: Wed, 21 Dec 2011 15:38:37 GMT Subject: Re: [PATCH] git-commit: add option --date-now Message-ID: <20111221153837.GC2160@beez.lab.cmartin.tk> In-Reply-To: <4EF1F3AB.5080607@elegosoft.com> On Wed, Dec 21, 2011 at 03:56:43PM +0100, Michael Schubert wrote: > Currently, Git doesn't provide an easy way to use the current date when > amending a commit or reusing an existing commmit with -C/-c. Therefore, > add --date-now. The option --reset-author also resets the date. So 'git commit --ammend --reset-author' does what 'git commit --amend --date-now' would do in most cases. I was surpised when I tried 'git commit --amend --date=now' that git didn't understand 'now' as a date, which seems like a more obvious place to fix it. > > Signed-off-by: Michael Schubert > --- > Documentation/git-commit.txt | 7 +++++-- > builtin/commit.c | 9 ++++++++- > 2 files changed, 13 insertions(+), 3 deletions(-) > > diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt > index 5cc84a1..b7c6f0d 100644 > --- a/Documentation/git-commit.txt > +++ b/Documentation/git-commit.txt > @@ -12,8 +12,8 @@ SYNOPSIS > [--dry-run] [(-c | -C | --fixup | --squash) ] > [-F | -m ] [--reset-author] [--allow-empty] > [--allow-empty-message] [--no-verify] [-e] [--author=] > - [--date=] [--cleanup=] [--status | --no-status] > - [-i | -o] [--] [...] > + [--date= | --date-now] [--cleanup=] > + [--status | --no-status] [-i | -o] [--] [...] > > DESCRIPTION > ----------- > @@ -126,6 +126,9 @@ OPTIONS > --date=:: > Override the author date used in the commit. > > +--date-now > + Override the author date used in the commit with the current local time. > + > -m :: > --message=:: > Use the given as the commit message. > diff --git a/builtin/commit.c b/builtin/commit.c > index be1ab2e..28fdf1a 100644 > --- a/builtin/commit.c > +++ b/builtin/commit.c > @@ -82,6 +82,7 @@ static const char *author_message, *author_message_buffer; > static char *edit_message, *use_message; > static char *fixup_message, *squash_message; > static int all, also, interactive, patch_interactive, only, amend, signoff; > +static int date_now; > static int edit_flag = -1; /* unspecified */ > static int quiet, verbose, no_verify, allow_empty, dry_run, renew_authorship; > static int no_post_rewrite, allow_empty_message; > @@ -134,6 +135,7 @@ static struct option builtin_commit_options[] = { > OPT_FILENAME('F', "file", &logfile, "read message from file"), > OPT_STRING(0, "author", &force_author, "author", "override author for commit"), > OPT_STRING(0, "date", &force_date, "date", "override date for commit"), > + OPT_BOOLEAN(0, "date-now", &date_now, "override date for commit with current local time"), > OPT_CALLBACK('m', "message", &message, "message", "commit message", opt_parse_m), > OPT_STRING('c', "reedit-message", &edit_message, "commit", "reuse and edit message from specified commit"), > OPT_STRING('C', "reuse-message", &use_message, "commit", "reuse message from specified commit"), > @@ -557,7 +559,9 @@ static void determine_author_info(struct strbuf *author_ident) > (lb - strlen(" ") - > (a + strlen("\nauthor ")))); > email = xmemdupz(lb + strlen("<"), rb - (lb + strlen("<"))); > - date = xmemdupz(rb + strlen("> "), eol - (rb + strlen("> "))); > + if (!date_now) > + date = xmemdupz(rb + strlen("> "), > + eol - (rb + strlen("> "))); > } > > if (force_author) { > @@ -1018,6 +1022,9 @@ static int parse_and_validate_options(int argc, const char *argv[], > if (force_author && renew_authorship) > die(_("Using both --reset-author and --author does not make sense")); > > + if (force_date && date_now) > + die(_("Using both --date and --date-now does not make sense")); > + > if (logfile || message.len || use_message || fixup_message) > use_editor = 0; > if (0 <= edit_flag) > -- > 1.7.8.521.g64725 > -- > To unsubscribe from this list: send the line "unsubscribe git" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html >