In git you can do something like HEAD~ to refer to the parent commit of HEAD. Mercurial has a similar feature called revsets which JJ took inspiration from (including the name). The revset language is a declarative query language—not unlike SQL—that lets you specify a set of revisions (a revset) that match certain criteria. It ends up looking more like set operations than SQL, but the idea is similar. In JJ you can use @ to mean “the current commit”,...| willhbr.net
I’m a serial tinkerer and project starter, which means I end up leaving a trail of half-finished (or half-started) projects everywhere I go. If it’s not new projects, I’ll drop in to some existing project and make some changes, then forget about them for months or sometimes years. Thankfully for a long time I’ve kept all my projects in a consistent location: ~/Projects so they’re not hard to keep track of, but that does mean I have to actually go...| willhbr.net
I spent a bunch of time learning how to use JJ properly after I gave up on git. Up until this point, I had been dumping commits directly onto main and just pushing the branch occasionally. I had avoided learning the pull/merge request flow because it’s not something I use on personal projects, but it turns out to work pretty well. With a few tactically-deployed aliases I’ve got a pretty simple flow going. We start a new change with jj...| willhbr.net