This is a chat client built entirely on git. Do be aware that this is totally a joke.
I was inspired to do this by slack - the ultimate abuse of a chat program. With all its integrations, there are ways you can set it up so that all you see is a firehose of worthless data; issue tracker events, version control events - to the point that communication through your chat program becomes difficult.
This is a riff on that - what if instead of using your chat program to browse commit history, you used your commit history to chat?
Give it a try! It's pretty simple. Just type this into your terminal:
Note the install steps below no longer work, as someone has deleted the git-chat-client user (as was inevitable). To get this working, change the repository url in main.js to a repository you and your chat members have write access to. Don't use a git repository that you care about though, as this will add a new commit message for every chat. Also, you'll need to commit an empty uuid.txt
file in that directory to get started.
git clone https://github.com/staab/git-chat.git
cd git-chat
npm start Anonymous
You can set your username if you'd like, by changing that first parameter to npm start
.
I'm actually pretty proud of how bad this software is.
- Sometimes it just stops receiving messages. Not sure why
- Doesn't really work cross-platform because it parses
git log
with a very naive regexp, and usescd
- Sometimes it fails on startup (or after) with
can't cd to /path/to/repo
- Authentication is done by embedding the username and password in the repo url
- Sometimes it double-commits messages because it retries on failed pushes, which re-commits
- If you delete uuid.txt it breaks everything.
This is a toy. It's not tested, it's not secure, it's not fast, it might even be dangerous. Don't use it seriously. But do try it out! Also it might only work on linux.