NHacker Next
login
▲Show HN: Contribution Graph as a Git Commandgithub.com
48 points by aaossa 39 days ago | 11 comments
Loading comments...
aaossa 39 days ago [-]
Hi HN!

A while ago I saw a CLI to display the GitHub contribution graph in a console, so I came up with the idea of a custom git command that made the exact same graph but based on the current repository.

If you like it or have any feedback about the tool itself and its code, just leave a comment. Thank you for your attention :)

isomorphic 39 days ago [-]
Thank you for the utility.

In order to get this to work on macOS, I needed to use Homebrew bash (5.1 instead of macOS' native 3.2) and the GNU date utility from Homebrew's coreutils, since macOS' native date binary uses different arguments.

Essentially, change the shebang to "#!/usr/bin/env bash" and use "gdate" instead of "date" wherever "date" is used.

metadat 39 days ago [-]
It'd be cool if it could also produce a graph of all contributors along the Y-axis.

Overall I dig it, nice job!

jph 39 days ago [-]
Great tool! Want to add it to GitAlias?

See the git alias `git-chart` for example.

https://github.com/gitalias/gitalias

jsrcout 31 days ago [-]
Thanks, this is a gold mine of useful applications of Git
dariusj18 39 days ago [-]
you could also use these characters in a --no-color mode

https://en.wikipedia.org/wiki/Block_Elements

influx 39 days ago [-]
This was way less code than I expected it to be. Nice!
floatinglotus 39 days ago [-]
Does anyone know of a way to list number of commits to a project by email domain? Is that even possible?
csc-- 39 days ago [-]
You could try mergestat (formerly known as askgit) which lets you run SQL queries against a git repo https://github.com/mergestat/mergestat
woodruffw 39 days ago [-]
I don't see why it wouldn't be possible -- you can use `git log` with a formatting rule (like `--pretty=email`), and then parse the `From:` fields and group them by domain.

The rest is application specific: you'll need to determine whether you want to/should normalize subdomains to their parent, for example.

mmcclimon 39 days ago [-]
Yeah, `git log --format=%ae | sed s/.*@//` will get you most of the way there, and then it’s down to how you want to deal with the domains themselves, as you say!