logoalt Hacker News

loegyesterday at 9:13 PM2 repliesview on HN

> How do you consider the UX "nearly identical" or "arguably worse"?

The core concept is similar -- history is a stream of content-addressed commits. Concepts map almost 1:1. git does some things arguably better.

> hg histedit is clean and easy to use and visually shows you what is going to happen - what the new order will be - nondestructively.

hg histedit is basically identical to git rebase -i. The names are different, but the operations end up being more or less the same. hg amend -> git commit --amend. Graft -> cherry-pick.

> I've worked with Mercurial for 5+ years and no one on my team has ever given up on a client and done rm -rf to start anew. Every single git user I've talked to has done that multiple times.

I don't know what to tell you. I've also worked with Mercurial for 5+ years, but I've never rm -rf'd a git repo.


Replies

kccqzyyesterday at 10:25 PM

> history is a stream of content-addressed commits

Not quite true for mercurial. You also get stable identifiers for commits that remain the same even after being manipulated such as after rebases or amends. It also enables tracking the evolution of a changeset which then enables `hg evolve`.

Being content addressable isn’t a desirable feature in a user-friendly version control system. Who cares about it? Giving stable identifiers to commits is a much more needed feature.

show 2 replies
Arainachtoday at 3:35 AM

git rebase -i drops you into a text editor where you have to manually copy, move, and edit lines, knowing what words mean what and manually type them each time.

hg histedit gives you a TUI which shows an interactive list and allows quick manipulation with the arrow keys and single characters for actions.

The two are as "equivalent" as i3 and KDE.

show 1 reply