I've learnt a little hg recently, and I really like how it distinguishes local branches that haven't been released yet. With git, a local branch is not shown as diverging from the upstream trunk!
Mercurial has strictly more information here with its notion of phases.
miniblog.
Related Posts
I'm comfortable with git, and recently learned mercurial, and I've concluded: commits are the wrong abstraction.
Work-in-progress and finished work are different concepts. Rebases and even branches are for WIP. Signing is for finished work. Timestamps and authors change for WIP.
@cstanhope Git doesn't strictly require branches, but it's rare to create commits on top of a detached head. I also believe there's no way to push commits that aren't associated with a branch or tag.
I've been playing with mercurial lately and the defaults are really interesting.
There's no staging area, so by default 'hg commit' is like 'git commit -a'. Seems beginner friendly.
Also, branches are optional! It's much easier to start working on a feature.
