mirror of
https://github.com/git/git
synced 2024-10-28 19:25:47 +00:00
4e168333a8
Remove support for the magical "repo-abbrev" comment in .mailmap files. This was added to .mailmap parsing in [1], as a generalized feature of the git-shortlog Perl script added earlier in [2]. There was no documentation or tests for this feature, and I don't think it's used in practice anymore. What it did was to allow you to specify a single string to be search-replaced with "/.../" in the .mailmap file. E.g. for linux.git's current .mailmap: git archive --remote=git@gitlab.com:linux-kernel/linux.git \ HEAD -- .mailmap | grep -a repo-abbrev # repo-abbrev: /pub/scm/linux/kernel/git/ Then when running e.g.: git shortlog --merges --author=Linus -1 v5.10-rc7..v5.10 | grep Merge We'd emit (the [...] is mine): Merge tag [...]git://git.kernel.org/.../tip/tip But will now emit: Merge tag [...]git.kernel.org/pub/scm/linux/kernel/git/tip/tip I think at this point this is just a historical artifact we can get rid of. It was initially meant for Linus's own use when we integrated the Perl script[2], but since then it seems he's stopped using it. Digging through Linus's release announcements on the LKML[3] the last release I can find that made use of this output is Linux 2.6.25-rc6 back in March 2008[4]. Later on Linus started using --no-merges[5], and nowadays seems to prefer some custom not-quite-shortlog format of merges from lieutenants[6]. You will still see it on linux.git if you run "git shortlog" manually yourself with --merges, with this removed you can still get the same output with: git log --pretty=fuller v5.10-rc7..v5.10 | sed 's!/pub/scm/linux/kernel/git/!/.../!g' | git shortlog Arguably we should do the same for the search-replacing of "[PATCH]" at the beginning with "". That seems to be another relic of a bygone era when linux.git patches would have their E-Mail subject lines applied as-is by "git am" or whatever. But we documented that feature in "git-shortlog(1)", and it seems more widely applicable than something purely kernel-specific. 1.7595e2ee6e
(git-shortlog: make common repository prefix configurable with .mailmap, 2006-11-25) 2.fa375c7f1b
(Add git-shortlog perl script, 2005-06-04) 3. https://lore.kernel.org/lkml/ 4. https://lore.kernel.org/lkml/alpine.LFD.1.00.0803161651350.3020@woody.linux-foundation.org/ 5. https://lore.kernel.org/lkml/BANLkTinrbh7Xi27an3uY7pDWrNKhJRYmEA@mail.gmail.com/ 6. https://lore.kernel.org/lkml/CAHk-=wg1+kf1AVzXA-RQX0zjM6t9J2Kay9xyuNqcFHWV-y5ZYw@mail.gmail.com/ Acked-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
37 lines
627 B
C
37 lines
627 B
C
#ifndef SHORTLOG_H
|
|
#define SHORTLOG_H
|
|
|
|
#include "string-list.h"
|
|
|
|
struct commit;
|
|
|
|
struct shortlog {
|
|
struct string_list list;
|
|
int summary;
|
|
int wrap_lines;
|
|
int sort_by_number;
|
|
int wrap;
|
|
int in1;
|
|
int in2;
|
|
int user_format;
|
|
int abbrev;
|
|
|
|
enum {
|
|
SHORTLOG_GROUP_AUTHOR = (1 << 0),
|
|
SHORTLOG_GROUP_COMMITTER = (1 << 1),
|
|
SHORTLOG_GROUP_TRAILER = (1 << 2),
|
|
} groups;
|
|
struct string_list trailers;
|
|
|
|
int email;
|
|
struct string_list mailmap;
|
|
FILE *file;
|
|
};
|
|
|
|
void shortlog_init(struct shortlog *log);
|
|
|
|
void shortlog_add_commit(struct shortlog *log, struct commit *commit);
|
|
|
|
void shortlog_output(struct shortlog *log);
|
|
|
|
#endif
|