Bazaar is another ["DistributedSCM"] (see http://bazaar-vcs.org/).

A Bazaar "branch" roughly corresponds to a Mercurial [:Repository:repository].

Comparing Use Cases

Push

In Bazaar, the push command has an --overwrite option which modifies the history of the target branch. Example:

Assume we have a Bazaar branch in directory bzr1 and branched that to bzr1-1 (using bzr branch bzr1 bzr1-1). Then we commit some changes in both branches, thus making the branches diverge.

Then in bzr1-1 we do:

> bzr push ..\bzr1
bzr: ERROR: These branches have diverged.  Try using "merge" and then "push".

will fail because the two branches have diverged.

But specifying --overwrite will succeed:

> bzr push ..\bzr1 --overwrite
All changes applied successfully.
Pushed up to revision 2.

by changing the history of bzr1, this means already commited changes to branch bzr1 are deleted.

In Mercurial, it is not possible to delete already committed changesets when doing a [:Push:push].

General Comparison

References