I had a really pleasant experience using mercurial. Some of the things git may be missing:
excellent tui for selecting chunks like incommit -i. Arrow keys quickly fold and unfold files/chunks/individual lines
commits come in 3 categories:
public commits were seen by other people and are considered immutable
draft commit is your regular WIP local commit and can't be a parent to a public commit.
secret commit with your printf debugging won't be uploaded by accident
when you rebase, your previous commits are marked obsolete and hidden from most UI. For an obsolete commit it is easy to find it's updated version. The graph of obsolete revisions is an orthogonal DAG on top of the regular commit DAG.
I had a really pleasant experience using mercurial. Some of the things git may be missing:
commit -i
. Arrow keys quickly fold and unfold files/chunks/individual linespublic
commits were seen by other people and are considered immutabledraft
commit is your regular WIP local commit and can't be a parent to apublic
commit.secret
commit with your printf debugging won't be uploaded by accidentrebase
, your previous commits are markedobsolete
and hidden from most UI. For an obsolete commit it is easy to find it's updated version. The graph of obsolete revisions is an orthogonal DAG on top of the regular commit DAG.