Live data from Hacker News

Show HN: An interactive visual history of Git development

git-history.jpalmer.dev

11–20 of 24 posts

Re: Show HN: An interactive visual history of Git development

#11
post #9

OP here. I wrote up some additional details on how this was created on my blog: https://jpalmer.dev/2021/05/interactive-git-history/ . If anyone has ideas about milestones that I could add to that would make the timeline more interesting/informative, or any other feedback, please let me know. Happy to answer any questions here.

After a user clicks on the streamgraph, the bottom-left displays information about commits by the corresponding contributor in the corresponding quarter; the contributor name is already a link to their GitHub profiles, but the "changes" count could also be made a link to the actual commits. These links would have the format: https://github.com/git/git/commits?author=gitster&since=2005... or https://github.com/git/git…

Oh that's a good idea. Thanks!

Re: Show HN: An interactive visual history of Git development

#12

OP here. I wrote up some additional details on how this was created on my blog: https://jpalmer.dev/2021/05/interactive-git-history/ . If anyone has ideas about milestones that I could add to that would make the timeline more interesting/informative, or any other feedback, please let me know. Happy to answer any questions here.

This is really cool. I started a project in a similar vein a few years back that I loosely called "What Did I Do" that would allow you to track blame / "ownership" over time. I could write out content to the command line, but once it got to the point of starting to put visualizations into the browser (in fact, I also went the D3 route), I started to lose drive. Finding a way to make it visually appealing escaped me -…

Thanks!

Yes, it's pretty heavily focused on the git repository, but it could be applied to other repositories with a little difficulty, and with mixed results. The main issues would be:

1. Getting the data. Currently a script needs to be run over the contents of a git repository to gather all of the commit data that's required. GitHub's API for commit data wouldn't allow all of the necessary data to be retrieved in a timely fashion, so that needs to be processed offline.

2. Cleaning the data. In order to link to github accounts I had to manually align commit author data to github profiles, which I wanted to do for this project because seeing a person's profile helped link the effort to the individual. You could throw that away for a different repository, I suppose, and just show the commit author information.

3. Creating milestones. The git milestones are mostly handcrafted (linking to release notes where they exist, etc), so they'd need to be replaced with something that could be generated from the repository or from some other process.

That said, I do think that it would be interesting to see other repositories in this style. I tried a couple of others just to see the basics, but the results were underwhelming because the structure of the visualizations depends so greatly on activities of the contributors.

Would you use it on other repositories if you could? Which repositories would be interesting to you?

Re: Show HN: An interactive visual history of Git development

#13

Earlier quoted context omitted.

This is really cool. I started a project in a similar vein a few years back that I loosely called "What Did I Do" that would allow you to track blame / "ownership" over time. I could write out content to the command line, but once it got to the point of starting to put visualizations into the browser (in fact, I also went the D3 route), I started to lose drive. Finding a way to make it visually appealing escaped me -…

Thanks! Yes, it's pretty heavily focused on the git repository, but it could be applied to other repositories with a little difficulty, and with mixed results. The main issues would be: 1. Getting the data. Currently a script needs to be run over the contents of a git repository to gather all of the commit data that's required. GitHub's API for commit data wouldn't allow all of the necessary data to be retrieved in a…

1. That's basically what I wrote :) although I collected different info. It can be really time intensive for bigger / older repositories...

2. Just going off commit author / email (and then corresponding gravatar) seems like enough. I get hand tailoring for something like this, but for a more "general purpose / throw a repo at me and I'll figure it out," I think using whatever you get is ok

3. Could try using tags for this, or I think specifically from Github, milestones / releases are stored differently? Don't know. I feel like this could also be an "include if present or ignore," although I do appreciate how it breaks up the history into a timeline

I don't have any specific projects in mind - for my own playing, I just used my own personal / work repos that I had available on my computer. I think the bigger, popular projects like Angular, React, or even language projects .NET Core or TypeScript could be interesting. I don't know if they would make great graphs or not though, I imagine it would be largely trial and error.

Re: Show HN: An interactive visual history of Git development

#15
OP here again. I forgot to mention that, because of my background in software development, I often create visualizations that are based on data from the development process. I find it to be a fascinating source of raw data that is underrepresented in the broader visualization space.

I don't have any type of newsletter, but I do announce new projects on twitter: https://twitter.com/jeffpalmer

Re: Show HN: An interactive visual history of Git development

#18

Anyone have any details on the 'Most line changes in a single month' event last October? Some sort of mass refactoring? Pretty cool way to display this info, thank you.

Thanks!

Those milestone callouts are based on aggregate statistics for that month, so that's a combination of a number of changes.

Most of the large changes that you see in the latter years of the project are the result of translation efforts. For example, this is from October: https://github.com/git/git/commit/c8774d0670b62447ae344d89a3...

Re: Show HN: An interactive visual history of Git development

#19

My main takeaway is that Junio Hamano is supernaturally productive, and Git owes him a lot.

Here's his contribution in the last 5 years

https://public-001.gitsense.com/insights/github/repos?p=comm...

Disclaimer: I'm the creator of the tool that is linked.

Post reply on HN