Hacker News new | ask | show | jobs
by subygan 5 hours 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.

2 comments

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

Additional complexity ? jj just increase the frequency of snapshots. it does not fundamentality the complexity of the system
The one thing I do like about git’s staging area is that it’s truly useful for reviewing a bunch of changes (bulk actions or automated tools). Go over the change chunk by chunk and stage what matters (magit makes that extremely quick.

That could be probably done by jj. But the git’s way is already fine for me.

Yes, jj does make this very nice and easy. It’s the same idea as git, except that “the index” is just another anonymous change, not a distinct feature.
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.
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.