Size: 2172
Comment: push: add hg command example
|
Size: 2174
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 39: | Line 39: |
Assume we have two Mercurial repository {{{hg1}}} and {{{hg1-1}}} ({{{hg1-1}}} cloned at some time from {{{hg1}}}) with diverging changes. In {{{hg1-1}}} doing: | Assume we have two Mercurial repositories {{{hg1}}} and {{{hg1-1}}} ({{{hg1-1}}} cloned at some time from {{{hg1}}}) with diverging changes. In {{{hg1-1}}} doing: |
Bazaar is another ["DistributedSCM"] (see http://bazaar-vcs.org/).
A Bazaar "branch" roughly corresponds to a Mercurial [:Repository:repository].
Comparing Use Cases
Push
Bazaar
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 changeing the history of bzr1. Some already committed changes to branch bzr1 are deleted (the diverging changes).
Mercurial
In Mercurial, it is not possible to delete already committed changesets when doing a [:Push:push].
Assume we have two Mercurial repositories hg1 and hg1-1 (hg1-1 cloned at some time from hg1) with diverging changes. In hg1-1 doing:
> hg push ..\hg1 pushing to ..\hg1 searching for changes abort: push creates new remote branches! (did you forget to merge? use push -f to force)
will fail as with bzr push. But doing:
> hg push --force ..\hg1 pushing to ..\hg1 searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (+1 heads)
in Mercurial will simply add a new [:Head:head] to the target repository. History is preserved.
General Comparison
["BzrVsHg"]
[http://www.selenic.com/pipermail/mercurial-devel/2008-January/004361.html bzr wins a performance test], by Bryan O'Sullivan, Fri Jan 18 15:33:47 CST 2008
References
[http://doc.bazaar-vcs.org/bzr.dev/en/user-reference/bzr_man.html Bazaar User Reference] (manual)