top | item 6197933

Git blame has never been so much fun

148 points| napolux | 12 years ago |mroth.github.io | reply

32 comments

order
[+] goldfeld|12 years ago|reply
I have been wanting to keep daily portraits of myself but never get around to it because it seems like more hassle than good to insert yet one more habit into my day that I have to remind myself to do. This actually solves it brilliantly by putting it on auto-pilot all the while providing meaningful capture times, plus git bisect could have a whole new dimension.

I think there's potential for analysis tools on top of it, though I think this stuff should be private (at least to the team) lest we create more data for companies and governments. With that in mind, I think integration with git-annex[1] as a plugin to backup the photos would be really interesting. Or it could already work, honestly I am yet to look into how git-annex works in practice, but from it's concept I know it's gonna be the right backup solution for some types of data I have (e.g. audio recordings, for which I currently use Evernote out of convenience.)

[1]: http://git-annex.branchable.com/

EDIT: So I tried to set it up, and I installed ruby gems in such a way that it needs sudo-everything. So sudo gem install lolcommits made me have to sudo lolcommits --enable. Doesn't necessarily bother me but I guess the program doesn't have access to save the snapshots and it may be failing silently (since no ~/.lolcommits was created after my first commit with it.) I haven't tried lolcommits --browse nor lolcommits --last because I'm using xmonad and I assume they are gonna try to open something back in my Ubuntu desktop which will leave me in an interface limbo. Author might want to keep the command line helper more agnostic, e.g. 'lolcommits browse' cd's you to the directory, and 'lolcommits browse -g' pops open your gui file manager.

[+] alecdbrooks|12 years ago|reply
Since all commits are stored in a directory, './lolcommits', and it's triggered when you make a commit, it seems like it would be straightforward to create a post commit hook that adds the new image to git-annex, especially as the filename is the commit's hash. Alternatively, you could simply use the assistant to watch the directory and sync it for you. So there's no need for built-in git-annex integration, though it would make it nicer.
[+] harrytuttle|12 years ago|reply
Give me a button that electrocutes the developer when I blame something and find out it's a rotten turd and I'll be happy :)
[+] tricolon|12 years ago|reply
That's a good way to hurt yourself ;)
[+] rismay|12 years ago|reply
Even better grab a random Linus response to Linux kernel commits and add it as a comment. Example: [GitUser], SHUT THE FUCK UP!

It's a bug alright - in the [GitRepo]. How long have you been a maintainer? And you still haven't learnt the first rule of [GitRepo] maintenance?

If a change results in user programs breaking, it's a bug in the [GitRepo]. We never EVER blame the user programs. How hard can this be to understand?

[+] agscala|12 years ago|reply
I've been using this for about a year or so on my spare time trying-to-start-a-startup project. It's pretty fun to scroll through ~500 images of myself. I was thinking I may upload the whole series online eventually for people to laugh at my bad hair days
[+] abbottry|12 years ago|reply
This is great! If only Hipchat would allow for image uploads... would love to send the image to hipchat with the push notification message
[+] skyebook|12 years ago|reply
And if Hipchat took screenshots when coworkers saw your commits we could replace performance reviews.
[+] russelluresti|12 years ago|reply
I've wanted a tool like this for conflicts - I want to see what people look like when they do a pull and get a conflict.
[+] TazeTSchnitzel|12 years ago|reply
It's a shame it doesn't store them in /commits/<hash> in the repo itself.
[+] ranman|12 years ago|reply
wouldn't that make checking out the repo a total pain in the ass? or do you mean just store them there and not upload them?
[+] jhartikainen|12 years ago|reply
This might be a bit disturbing if used by teams who work from home...
[+] daGrevis|12 years ago|reply
I will enable this at home for my side-projects! This is really LOL.
[+] sam152|12 years ago|reply
Since their stored in '~/.lolcommits', I don't think this could really impact any production projects. I think it could be pretty funny, especially for non-side projects.
[+] Fuxy|12 years ago|reply
This looks very fun :) Kinda disappointed it's ruby but that's just my bias.
[+] octagonal|12 years ago|reply
Why does that even matter?

It's not as if you have to interact with it beyond issuing a "lolcommits --enable" command.

[+] xmpir|12 years ago|reply
this is a great idea - i wonder that i never thought of it
[+] kaeawc|12 years ago|reply
May the lulz begin.
[+] marianoabdala|12 years ago|reply
Code is to be taken seriously.

You better commit some unbreakable code while using this.

[+] mroth|12 years ago|reply
I admire your dedication to ensuring all code is serious and no superfluous fun is permitted.

Have no fear, you can actually use lolcommits as a management tool in order to audit your workplace and make sure everyone is appropriately miserable. Anyone caught smiling or laughing while committing can then be fired for not being serious enough while coding.