back

by sourdecor·1mo ago·view on hn ↗
I have always wanted a version control system that was basically Emacs/Vim/Neovim's undo-tree[0] but persistent and social. Why do I have to manually talk to git? You are a computer, track every modification I make while editing and let me decide (or help me decide) on what a checkpoint is.

[0]: https://i.sstatic.net/4vbd9.png

2 comments
Jujutsu might be what you’re looking for then.
Seconding Jujutsu! I've been working to add Jujutsu support to basically every open-source tool and framework I use, including the agentic ones [0]. While it doesn't work for everyone, I've found it can really work for some people. (like myself)

It's absolutely great for keeping a bunch of exploratory changes alive, quick prototyping, etc. as I tend to do with basically every source I have on my machine. I don't have to think at all about the stuff I hate about git (babying the index, being careful to amend and etc. right the first time because undos are annoying, etc.)

Does not support LFS or submodules though.

[0]: https://github.com/LoganDark/get-shit-done/tree/jj-vcs

submodules are cursed. LFS support looks to be coming soon in the form of jj ignoring LFS files and just allowing you to use git-lfs to manage them.
Submodules are cursed, but I like to clone my repos without colocation, but then sometimes find that I need to re-colocate in order to `git submodule update`.

Relatedly, when I use filesystem paths as remotes they need to be colocated or else it doesn't work, which is a little annoying!

Submodules are already that way as well.
Mostly true, but the weird edge case I run into is workspaces. Since they seem to be independent of and not backward compatible with git worktrees, there is no fall back to git for submodules within a workspace.

We still use submodules in a number of places at work so it’s a bit of friction for me. Other than that, I’m rapidly becoming a jj convert.

Ahh, so workspaces don't currently support colocation, aka "put a .git directory in there". So that's what's up there. Interesting corner case! I know upstream is working on it.
The repos i work in are hard-coupled to being in a git repo. So in order to make jj workspaces work for me, I've had to do the very hacky thing of literally copying the .git directory into the other workspaces.

It actually works quite well and has never caused me any issues. I tried symlinking but that does not work, git doesn't like the .git being a symlink.

Try just copying the .git directory into the other workspaces. It's worked great for me when working in repos that have tooling that is coupled to git.
Zed’s DeltaDB is that very idea I believe

https://zed.dev/deltadb

is there some more information about DeltaDB? this seems to be an early access feature and not something available at the moment but I would be interested to learn more about it.

Edit: this was actually announced at a very recent blog post (11 july 2026 so just 11 days ago): https://zed.dev/blog/introducing-deltadb

The blogpost also has some more relevant information as well.

Software is made between commits https://news.ycombinator.com/item?id=48492533 (214 comments)