“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.

you are viewing a single comment's thread
view the rest of the comments
[–] [S] 2 points 1 year ago* (last edited 1 year ago) (1 child)

But, did you try it? Myself, I was comfortable with working with it after one hour or two - after working with git for 18 or 19 years, and often being the first git user in my organization.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 2 points 1 year ago (2 children)

    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.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 2 points 1 year ago

    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.

  • source
  • parent
  • [–] [S] 1 point 1 year ago

    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?

    You might be able to put them into .gitignore. But why not keep the shell script in a tools folder?

  • source
  • parent