On this mailing list (and many others) the standard way to reference other commits with the "reference" format, e.g. "f86a374 (pack-bitmap.c: fix a memleak, 2015-03-30)". Since it's so commonly used, let's standardise it as a pretty format. Patches 5-7 were cleanup patches that were critical in earlier iterations of the series but no longer are critical for the rest of the patchset. Nonetheless, let's include them since they improve the quality of the codebase. Changes since v3: * Change one reference from "summary" to "reference" * Clarify --pretty=reference documentation * Add a squashable patch at the end to implement overridable --date Changes since v2: * Rename from "summary" to "reference" * Implement the feature as a canned userformat * Implement the %*s (short date) format string element * Remove the enclosing dqs around the subject Changes since v1: * Replace more references to "sha1" with "hash" * Clean up 8/10 by losing the allocation and making the subject less misleading * Add tests in 7/10 to ensure 8/10 does not change any behaviour Denton Liu (10): SubmittingPatches: use generic terms for hash pretty-formats.txt: use generic terms for hash SubmittingPatches: remove dq from commit reference completion: complete `tformat:` pretty format revision: make get_revision_mark() return const pointer pretty.c: inline initalize format_context t4205: cover `git log --reflog -z` blindspot pretty: implement 'reference' format SubmittingPatches: use `--pretty=reference` squash! pretty: implement 'reference' format René Scharfe (1): pretty: provide short date format Documentation/SubmittingPatches | 16 ++++-- Documentation/pretty-formats.txt | 29 +++++++--- Documentation/pretty-options.txt | 2 +- Documentation/rev-list-options.txt | 4 +- contrib/completion/git-completion.bash | 2 +- pretty.c | 23 ++++++-- revision.c | 4 +- revision.h | 4 +- t/t4205-log-pretty-formats.sh | 79 ++++++++++++++++++++++++++ 9 files changed, 137 insertions(+), 26 deletions(-) Range-diff against v3: 1: d0f0b86f5f = 1: 3b9b72feec SubmittingPatches: use generic terms for hash 2: aabd7574d2 = 2: 2cc7cc6e75 pretty-formats.txt: use generic terms for hash 3: ef0adc260d = 3: 61e1a25f93 SubmittingPatches: remove dq from commit reference 4: d7e4dc9154 = 4: 5d9fd9d632 completion: complete `tformat:` pretty format 5: cc219ec513 = 5: bfb216954b revision: make get_revision_mark() return const pointer 6: 883517ee65 = 6: 34e1b6a7ac pretty.c: inline initalize format_context 7: b35b287635 = 7: 78e4d75d2b t4205: cover `git log --reflog -z` blindspot 8: b0ac175d6f = 8: 9d4dfcc115 pretty: provide short date format 9: a4b87ad271 ! 9: 5042161d73 pretty: implement 'reference' format @@ Documentation/pretty-formats.txt: This is designed to be as compact as possible. + + <abbrev hash> (<title line>, <short author date>) ++ -+This format is useful for referring to other commits when writing a new -+commit message. It uses the following canned user format: -+`%C(auto)%h (%s, %as)`. This means it will not respect options that -+change the output format such as `--date` `--no-abbrev-commit`, and -+`--walk-reflogs`. ++This format is used to refer to another commit in a commit message and ++is the same as `--pretty='format:%C(auto)%h (%s, %as)'`. As with any ++`format:` with format placeholders, its output is not affected by other ++options like `--decorate` and `--walk-reflogs`. + * 'email' @@ Documentation/rev-list-options.txt: Under `--pretty=oneline`, the commit message This option cannot be combined with `--reverse`. See also linkgit:git-reflog[1]. ++ -+Under `--pretty=summary`, this information will not be shown at all. ++Under `--pretty=reference`, this information will not be shown at all. --merge:: After a failed merge, show refs that touch files having a 10: 04d24cbf4b = 10: 888c496991 SubmittingPatches: use `--pretty=reference` -: ---------- > 11: 580aa7c88c squash! pretty: implement 'reference' format -- 2.24.0.420.g9ac4901264