shortlog: accept --date-related options

Prepare for a future patch which will introduce arbitrary pretty formats
via the `--group` argument.

To allow additional customizability (for example, to support something
like `git shortlog -s --group='%aD' --date='format:%Y-%m' ...` (which
groups commits by the datestring 'YYYY-mm' according to author date), we
must store off the `--date` parsed from calling `parse_revision_opt()`.

Note that this also affects custom output `--format` strings in `git
shortlog`. Though this is a behavior change, this is arguably fixing a
long-standing bug (ie., that `--format` strings are not affected by
`--date` specifiers as they should be).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jeff King
2022-10-24 14:55:30 -04:00
committed by Junio C Hamano
parent 45c9f05c44
commit 251554c269
4 changed files with 16 additions and 1 deletions

View File

@@ -2,6 +2,7 @@
#define SHORTLOG_H
#include "string-list.h"
#include "date.h"
struct commit;
@@ -15,6 +16,7 @@ struct shortlog {
int in2;
int user_format;
int abbrev;
struct date_mode date_mode;
enum {
SHORTLOG_GROUP_AUTHOR = (1 << 0),