ammaraskar | 2019-11-16 07:37:21 UTC | #1 https://www.youtube.com/watch?v=cGRSAAQZcAM I made this and thought others here might find it cool, it's a visualization of CPython's commit history throughout the years made using [gource](https://gource.io/). Avatars are pulled best effort based on names and emails using Github, falling back to gravatar. You can visually see a lot of the big changes and how contributions to Python by various authors have changed over time. Some events that I could pick out really easily: * 0:37 - (1992) First non-Guido contributors show up, Sjoerd Mullender and Jack Jansen * 4:48 - (2006) libffi is added into the Python source tree (bottom left) * 5:05 - (2007) Guido zaps a lot of .py files converting print statements to function calls (https://github.com/python/cpython/commit/be19ed77ddb047e02fe94d142181062af6d99dcc#diff-eda43b382717bd048dfc4780a93b879d) * 5:10 - (2007) All the .tex files go kapoot in and get replaced with Sphinx/.rst * 8:09 - (2015) Steve Dower refactors the Windows installer (top left) (https://github.com/python/cpython/commit/bb24087a2cbfb186b540cc71a74ec8c39c1ebe3a#diff-4da4d7cfbbfad6bd2c4a7e8e9a4a94da) * 9:05 - (2017) News entries now done with blurb, everyone touches the giant red cluster of News.d whenever they make commits now Sorry if someone has made something similar in the past and I failed to find it! ------------------------- guido | 2019-11-16 16:53:53 UTC | #2 Nice! What do the different colors of the dots mean? I presume dots are files -- is the size of the file (or the size of the diff, for that matter) represented at all? I presume you're aware that in the early years my contributions are over-counted, because people sent me patches via email that I manually applied. I think until 2000 (when we moved to SourceForge) only a handful people could commit to the repo, so the same thing applied. (Also we weren't anticipating this kind of visualization. :-) ) ------------------------- thomas | 2019-11-16 18:44:17 UTC | #3 There's a similar effect with the start of the Python 3 branch as well: we were using subversion at the time, and it didn't have useful branch merging. The early Python 3 work was kept in sync with 2.5/2.6 using svnmerge.py, which would attribute all the merged changes to whomever ran it (usually me). I haven't checked, but I expect my blue/green avatar starts making big bursts of changes in the 2007-2008 timeframe :) ------------------------- ammaraskar | 2019-11-16 21:52:20 UTC | #4 [quote="guido, post:2, topic:2669"] Nice! What do the different colors of the dots mean? I presume dots are files – is the size of the file (or the size of the diff, for that matter) represented at all? [/quote] The different colors represent a particular extension, e.g green is `.c` and the gray/blue is `.py`. I don't think the size of diff is visualized, only the files touched. [quote="guido, post:2, topic:2669"] I presume you’re aware that in the early years my contributions are over-counted, because people sent me patches via email that I manually applied. [/quote] Aah I didn't know that. I did try to correct a little for the "Patch by ..." used in mercurial times but that's the extent of it. As Thomas points out, the `svnmerge` based giant commits aren't attributed correctly either. -------------------------