git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Promoting Git developers

From
Jeff King <peff@peff.net>
Date
Mar 11, 2015, 07:54 UTC
Message-ID
<20150311075429.GA10300@peff.net>
In-Reply-To
<CAPc5daUVVk+SYgwCj9JftzXgV7=9kPprdBPCWHS5XQOa5uF69Q@mail.gmail.com>
On Wed, Mar 11, 2015 at 12:38:21AM -0700, Junio C Hamano wrote:
Show 12 quoted lines
> >> I can add "shortlog --no-merges -s -n v2.3.0..v2.4.0" at the end of
> >> the e-mail when the release notes is sent out. That might be a good
> >> enough balance between the usefulness of the release notes to its
> >> customers and giving credits to individuals in a way a bit more
> >> visible than "if you are interested, run shortlog yourself" [*4*].
> >
> > I somehow thought you already did this, but it looks like you just do
> > shortlog (without the "-ns") for the "maint" release announcement.
> 
> That is because (a) it is scripted in Meta/Announce, and (b) I strip it
> out for feature releases, as the plain shortlog output with full feature
> list is usually ends up being just too long for the announce message.
Yeah, I figured the length was the reason.
> Perhaps I'll add "shortlog -s | pr -3" or something at the end for both
> maintenance track and feature releases. Names only, unordered and
> hopefully not overly long.
Yes, I was thinking something along those lines. Maybe:
  # example
  old=v2.2.0
  new=v2.3.0
  # like "shortlog -s", but we do not even care about the numbers
  shortlog () {
	git log --format=%aN "$@" | sort -u
  }
  compact () {
	perl -lne 'push @x, $_; END { print join(", ", @x) }' |
	fold -s
  }
  count () {
	shortlog $old..$new | wc -l
  }
  newbies () {
	comm -23 <(shortlog $old..$new) <(shortlog $old) | compact
  }
  oldtimers () {
	comm -12 <(shortlog $old..$new) <(shortlog $old) | compact
  }
  cat <<EOF
  Git $new was developed with commits from $(count) people. Thanks very
  much to our returning developers:
  $(oldtimers)
  and welcome to new contributors in this release:
  $(newbies)
  EOF

Or something along those lines. The wording and indentation of the message could probably use tweaking. And there is a bash-ism in the script. :)

-Peff
Previous: Junio C HamanoNext: Junio C Hamano
Message 18 of 43 in “Promoting Git developers (was: Bashing freelancers)”
  1. Christian CouderMar 7, 2015
  2. Michael J GruberMar 9, 2015
  3. David KastrupMar 9, 2015
  4. Philip OakleyMar 9, 2015
  5. Junio C HamanoMar 10, 2015
  6. Christian CouderMar 10, 2015
  7. Junio C HamanoMar 10, 2015
  8. Jason St. JohnMar 11, 2015
  9. Duy NguyenMar 11, 2015
  10. Junio C HamanoMar 11, 2015
  11. Duy NguyenMar 12, 2015
  12. Junio C HamanoMar 12, 2015
  13. Fredrik GustafssonMar 12, 2015
  14. Junio C HamanoMar 12, 2015
  15. Junio C HamanoMar 11, 2015
  16. Jeff KingMar 11, 2015
  17. Junio C HamanoMar 11, 2015
  18. Jeff KingMar 11, 2015
  19. Junio C HamanoMar 11, 2015
  20. Andrew ArdillMar 11, 2015
  21. Jeff KingMar 12, 2015
  22. Junio C HamanoMar 12, 2015
  23. Jeff KingMar 12, 2015
  24. Junio C HamanoMar 12, 2015
  25. Jeff KingMar 12, 2015
  26. Junio C HamanoMar 12, 2015
  27. Christian CouderMar 15, 2015
  28. Christian CouderMar 11, 2015
  29. Junio C HamanoMar 11, 2015
  30. Christian CouderMar 15, 2015
  31. Junio C HamanoMar 15, 2015
  32. Randall S. BeckerMar 15, 2015
  33. Christian CouderMar 16, 2015
  34. David KastrupMar 16, 2015
  35. Stefan BellerMar 16, 2015
  36. Christian CouderMar 17, 2015
  37. Junio C HamanoMar 17, 2015
  38. David LangMar 16, 2015
  39. Junio C HamanoMar 17, 2015
  40. David LangMar 17, 2015
  41. Christian CouderMar 17, 2015
  42. Thomas Ferris NicolaisenMar 17, 2015
  43. Christian CouderMar 17, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.