- cross-posted to:
- lobsters
- cross-posted to:
- lobsters
“Jujutsu (jj) is a version control system with a significantly simplified mental model and command-line interface compared to Git, without sacrificing expressibility or power (in fact, you could argue Jujutsu is more powerful). Stacked-diff workflows, seamless rebases, and ephemeral revisions are all natural with jj […]”
Part 2 of the series is out and is here.
I’ve started to tinker with it. “auto commit everything” is an absolute deal-breaker for me. There’s no world in which I want every file I create to be added to source control without asking. I create lots of log files and other temp files when I work. Maybe I just fetched some .json from a service and put it in tmp.json? Maybe I created a small shell script to automate something I’m doing? I guarantee I’m going to end up pushing that shit upstream by accident at some point.
Luckily you can turn it off and use the standard ‘add’ workflow. I did that almost reflexively when I started trying to use jj. (snapshot.auto-track)
However, over time, and once I got the .gitignore fully set up for bigger projects, I’ve come around on re-enabling autocommit for more of my repos. It does flow pretty naturally once you have an established process. I find it enables both better ‘undo’, and more seamless context-switching.
You can also set a more specific snapshot.auto-track on a repo or user basis for personal tooling conventions that don’t make sense to gitignore.
You might be able to put them into .gitignore. But why not keep the shell script in a tools folder?