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.
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.
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.
@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.
