This series is based on a suggestion[1] from Junio in response to Jacob Stopak's series to add committer month/year options as shortlog groups. This series pursues a more flexible approach, where arbitrary pretty formats can be used to generate group names in shortlog. For example, to group by committer month/year, you can do the following: $ git.compile shortlog -s --group='%cd' --date='format:%Y-%m' v2.37.0.. 117 2022-06 274 2022-07 325 2022-08 271 2022-09 17 2022-10 , which is cute. It can also be used to reimplement existing functionality in shortlog, which is what the final three patches in this series do. Author and committer options are implemented under the hood as if they were shorthands for `--group='%aN <%aE>'` (or `--group='%cN <%cE>'`, respectively). The `--group=trailer:<key>` option is also reimplemented, but it is slightly trickier than the rest. See the final patch for more details there. Thanks in advance for your review. [1]: https://lore.kernel.org/git/xmqqillevzeh.fsf@gitster.g/ Jeff King (1): shortlog: accept `--date`-related options Taylor Blau (6): Documentation: extract date-options.txt shortlog: extract `--group` fragment for translation shortlog: support arbitrary commit format `--group`s shortlog: implement `--group=author` in terms of `--group=<format>` shortlog: implement `--group=committer` in terms of `--group=<format>` shortlog: implement `--group=trailer` in terms of `--group=<format>` Documentation/date-options.txt | 66 +++++++++++++ Documentation/git-shortlog.txt | 4 + Documentation/rev-list-options.txt | 67 +------------ builtin/log.c | 1 + builtin/shortlog.c | 145 +++++++++++++++-------------- shortlog.h | 6 +- t/t4201-shortlog.sh | 9 ++ 7 files changed, 163 insertions(+), 135 deletions(-) create mode 100644 Documentation/date-options.txt -- 2.37.0.1.g1379af2e9d