Comment by subygan

4 days ago

This was my problem with JJ as well. I don't want everything in between to be versioned. I'm not even sure, every intermediary state between a commit is relevant or useful.

but feels like, I'm in the minority.

To be clear, while jj does that, it's entirely local on your machine, and not shared.

  • Even on my local, that level of snapshotting adds unneded complexity that has very little value.

    • Value is of course subjective, but many of jj’s popular features, like undo, are based on this.

      (I actually think it’s tremendously valuable for a number of reasons but it’s fine to simply disagree about that.)

  • The internal version at least is heavily based on a global commit cloud.

    If you give me your commit ID I can immediately print it on my workspace without you having to upload a formal change request.

    • That’s a feature of jj’s integration with Piper, and is not relevant outside of Google, as neither Piper nor that jj integration is available to anyone else.

    • That's not a jj feature, but a CitC feature. You can use it on hg workspaces or plain p4 workspaces.

I felt the same for a while after switching to jj. I think using the word "commit" in jj is creating a lot of confusing. The snapshotting is closer to auto-save in your favorite editor. In does not change your ability to version and save your work. It's just a savety net for quick undo

  • It is called that because it is literally a git commit. jj might change it to “revision”, though, we’ll see.