I'm experimenting with jj this weekend. It seems pretty nice so far, but the mental model is pretty different from git.
For example, there's no `checkout` command. You do `jj new ABC` to switch to a commit, which creates a new empty commit on top of ABC.
Related Posts
It's weird that GitHub shows time since the last commit, but not time since the first commit. It's a nice way of seeing how mature a project is.
I've just squeezed another 5% of performance out of difftastic by finding a few HashSet values that weren't FxHashSet.
I do wonder whether hash DoS resistance is a good default. Sure, Rust programs are often pretty fast anyway, but it feels like a different threat model to the rest of Rust.
I'm increasingly doubtful that commit messages should be entirely immutable.
I sometimes find myself editing or commenting on merged pull requests, to help future readers.
Phabricator appended a URL to commit messages, which helped. In principle PR merging could do the same thing.