Remix.run Logo
sourdecor a day ago

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

stouset a day ago | parent | next [-]

Jujutsu might be what you’re looking for then.

LoganDark a day ago | parent [-]

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

tcoff91 a day ago | parent [-]

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.

steveklabnik a day ago | parent | next [-]

Submodules are already that way as well.

y1n0 a day ago | parent [-]

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.

steveklabnik a day ago | parent | next [-]

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.

tcoff91 11 hours ago | parent [-]

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.

tcoff91 11 hours ago | parent | prev [-]

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.

LoganDark a day ago | parent | prev [-]

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!

iknowstuff a day ago | parent | prev [-]

Zed’s DeltaDB is that very idea I believe

https://zed.dev/deltadb

Imustaskforhelp a day ago | parent [-]

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.

FergusArgyll a day ago | parent [-]

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