From: Junio C Hamano Date: Tue, 24 May 2005 19:44:50 GMT Subject: Re: gitweb wishlist Message-ID: <7voeb0tnm5.fsf@assigned-by-dhcp.cox.net> In-Reply-To: <7vu0kstojw.fsf@assigned-by-dhcp.cox.net> >>>>> "JCH" == Junio C Hamano writes: JCH> What _all_ Porcelain layer implementation would benefit from is JCH> if we had a common output format routine that is similar to the JCH> spirit of show_date() function. Have format_commit_fancy() JCH> function that takes a commit object and have it do the mapping. Here is a small script called "whodunnit.sh", and its output can be cleaned up if we had a git-format-commit command that used format_commit_fancy(), that massages author/committer names (and probably some other prettyprinting), instead of plain old "git-cat-file commit". #!/bin/sh git-rev-list ${1:-HEAD} | while read commit do git-cat-file commit $commit | sed -ne '/^author \([^>]*>\).*/{s//\1/p;q;}' done | sort | uniq -c | sort -n The lines it currently spits out looks like this: 6 ... 8 Linus Torvalds ... 155 ... 229 Linus Torvalds My suggestion for Thomas is not to volunteer changing cvsps-to-git to munge names at conversion time, but instead to volunteer doing the format_commit_fancy() on the core-ish side. It would read from $GIT_DIR/author-names which would be a plain text file that is a sequence of: "bogus name" TAB "good name" LF where you would put ".(none)" version to "bogus" side and the corrected one on the "good" side.