5 ms·
> > But if you try to understand the commands without the model, you will suffer, because the commands do not make sense. > I've read this about git several ti
by hsn915 4y ago
> > But if you try to understand the commands without the model, you will suffer, because the commands do not make sense.
> I've read this about git several times and certainly felt it. My question is why hasn't anyone come along and fixed it? Git has the plumbing vs. porcelain separation. Why hasn't someone written new porcelain that makes git as intuitive as mercurial, subversion, etc?
What about svn is intuitive? It was never intuitive to me. It always felt confusing.
Trying to deal with any system without having a mental model (even if high level) of what's going on will always cause problems. How do I know if `svn update` screws up my uncommitted changes? I never felt safe with svn because I had no idea what the commands could do to my files.
> My second question is, if the underlying model is so f*cking elegant, how did it lead to such a confusing interface? This isn't so much me griping about git (although I am) but more a curious case for design theory. Would love to read serious analysis. I can't offhand think of another piece of software where "the model is elegant but the interface is confusing" is such a common critique.
This is actually pretty common. You just don't notice it when you are used to the interface.
The unix file system and command line tools come to mind.
- brigandish 4y agoIsn't that jujutsu?[1] > Jujutsu is a Git-compatible DVCS. It combines features from Git (data model, speed), Mercurial (anonymous branching, simple CLI free from "the index", revsets, powerful history-rewriting), and Pijul/Darcs (first-class conflicts), with features not found in either of them (working-copy-as-a-commit, undo functionality, automatic rebase, safe replication via rsync, Dropbox, or distributed file system). > Compatible with Git > > Jujutsu has two backends. One of them is a Git backend (the other is a native one 1). This lets you use Jujutsu as an alternative interface to Git. The commits you create will look like regular Git commits. You can always switch back to Git. [1] https://github.com/martinvonz/jj https://github.com/martinvonz/jj
- glandium 4y agoPast discussion about Jujutsu: https://news.ycombinator.com/item?id=30398662 https://news.ycombinator.com/item?id=30398662