Live data from Hacker News

20 years of Git

blog.gitbutler.com

1–10 of 240 posts

Re: 20 years of Git

#4
Yes, still odd, but I can deal with it.

FWIW, I just found out you can sign commits using ssh keys. Due to how pinentry + gnupg + git has issues on OpenBSD with commit signing, I just moved to signing via ssh. I had a workaround, but it was a real hack, now no issues!

20 years, wow seems like yesterday I moved my work items from cvs to git. I miss one item in cvs ($Id$), but I learned to do without it.

Re: 20 years of Git

#5
Around 2002 or so, I had an idea to tag every part of a project with a unique hash code. With a hash code, one could download the corresponding file. A hash code for the whole project would be a file containing a list of hash codes for the files that make up the project. Hash codes could represent the compiler that builds it, along with the library(s) it links with.

I showed it to a couple software entrepreneuers (Wild Tangent and Chromium), but they had no interest in it.

I never did anything else with it, and so it goes.

Re: 20 years of Git

#6
post #4

Yes, still odd, but I can deal with it. FWIW, I just found out you can sign commits using ssh keys. Due to how pinentry + gnupg + git has issues on OpenBSD with commit signing, I just moved to signing via ssh. I had a workaround, but it was a real hack, now no issues! 20 years, wow seems like yesterday I moved my work items from cvs to git. I miss one item in cvs ($Id$), but I learned to do without it.

I don't know if it's lucky or unlucky for you that you managed to skip Subversion

Re: 20 years of Git

#7
Speaking of git front ends, I want to give a shout-out to Jujutsu. I suspect most people here have probably at least heard of it by now, but it has fully replaced my git cli usage for over a year in my day to day work. It feels like the interface that jj provides has made the underlying git data structures feel incredibly clear to me, and easy to manipulate.

Once you transition your mental model from working branch with a staging area to working revision that is continuously tracking changes, it's very hard to want to go back.

Re: 20 years of Git

#8
> He meant to build an efficient tarball history database toolset, not really a version control system. He assumed that someone else would write that layer.

Famous last words: "We'll do it the right way later!"

Re: 20 years of Git

#9
post #4

Yes, still odd, but I can deal with it. FWIW, I just found out you can sign commits using ssh keys. Due to how pinentry + gnupg + git has issues on OpenBSD with commit signing, I just moved to signing via ssh. I had a workaround, but it was a real hack, now no issues! 20 years, wow seems like yesterday I moved my work items from cvs to git. I miss one item in cvs ($Id$), but I learned to do without it.

Oh yeah, SSH signing is incredible. I've also migrated to it and didn't look back.

A couple of differences:

- it's possible to specify signing keys in a file inside the repository, and configure git to verify on merge (https://github.com/wiktor-k/ssh-signing/). I'm using that for my dot config repo to make sure I'm pulling only stuff I committed on my machines.

- SSH has TPM key support via PKCS11 or external agents, this makes it possible to easily roll out hardware backed keys

- SSH signatures have context separation, that is it's not possible to take your SSH commit signature and repurpose it (unlike OpenPGP)

- due to SSH keys being small the policy file is also small and readable, compare https://github.com/openssh/openssh-portable/blob/master/.git... with equivalent OpenPGP https://gitlab.com/sequoia-pgp/sequoia/-/blob/main/openpgp-p...

Re: 20 years of Git

#10
> I would love to do a whole blog post about how mailing list collaboration works and how cool various aspects of it are, but that’s for another time.

This is actually the part I would be interested in, coming from a GitHub cofounder.

Post reply on HN