On 08/20/2013 04:23 PM, Thomas Rast wrote: > Stefan Beller <stefanbeller@xxxxxxxxxxxxxx> writes: > >> As I am resending the patch, could somebody please explain me >> the mechanism of the "# repo-abbrev:" line? Even git itself doesn't >> use it in the .mailmap file, but a quick google search shows up only >> kernel repositories. > > I had no idea (we really lack documentation on this), but some history > digging shows this: > > commit 7595e2ee6ef9b35ebc8dc45543723e1d89765ce3 > Author: Junio C Hamano <junkio@xxxxxxx> > Date: Sat Nov 25 00:07:54 2006 -0800 > > git-shortlog: make common repository prefix configurable with .mailmap > > The code had "/pub/scm/linux/kernel/git/" hardcoded which was > too specific to the kernel project. > > With this, a line in the .mailmap file: > > # repo-abbrev: /pub/scm/linux/kernel/git/ > > can be used to cause the substring to be abbreviated to /.../ > on the title line of the commit message. > > Signed-off-by: Junio C Hamano <junkio@xxxxxxx> > > It apparently serves to abbreviate commits coming from pull requests, > with a subject like > > Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux > Thanks for looking through the history, I need to adapt my search patterns. ;) Personally I have the feel this is a very kernel specific, but also useful thing to have. So I would definitely not drop it, but maybe move it to another place, such as in the .git/config file. Then anybody can configure it themselves and maybe even have multiple abbreviation lines possible. It's very likely nowadays that there are repos at various different hosting sites, so just one abbreviation would not cut it anymore. Or as Jeff just mentioned in his email, it's there for historical purpose, but not needed anymore as git-merge produces nicer commit messages there. As proposed I checked recent kernel history and saw: $ git log --min-parents=2 --oneline d6a5e06 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes 7067552 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip e91dade Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip fbf2184 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux 3387ed8 Merge tag 'drm-intel-fixes-2013-08-15' of git://people.freedesktop.org/~danvet/drm-intel d2b2c08 Merge branch 'drm-fixes-3.11' of git://people.freedesktop.org/~agd5f/linux 50e37cc Merge branch 'for-3.11-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup a08797e Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 2620bf0 Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm 359d16c Merge branch 'for-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k 0f7dd1a Merge tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mturquette/linux 2d2843e Merge tag 'pm-3.11-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm f43c606 Merge tag 'sound-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound 89cb9ae Merge tag 'usb-3.11-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb in their .mailmap it read: # repo-abbrev: /pub/scm/linux/kernel/git/ So the abbreviation doesn't take place, can this feature be turned off? I'm still confused by that feature. Thanks, Stefan
Attachment:
signature.asc
Description: OpenPGP digital signature