4 ms·
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 gi
by sourdecor 4mo 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 https://i.sstatic.net/4vbd9.png
- stouset 4mo agoJujutsu might be what you’re looking for then.
- LoganDark 4mo agoSeconding 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 https://github.com/LoganDark/get-shit-done/tree/jj-vcs
- tcoff91 4mo agosubmodules 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 4mo agoSubmodules are already that way as well.
- y1n0 4mo agoMostly 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 4mo agoAhh, 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 4mo agoThe 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 4mo agoTry 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 4mo agoSubmodules 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 4mo agoZed’s DeltaDB is that very idea I believe https://zed.dev/deltadb https://zed.dev/deltadb
- Imustaskforhelp 4mo agois 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 https://zed.dev/blog/introducing-deltadb The blogpost also has some more relevant information as well.
- FergusArgyll 4mo agoSoftware is made between commits https://news.ycombinator.com/item?id=48492533 https://news.ycombinator.com/item?id=48492533 (214 comments)