Best-Practice "Merge vs. Rebase" searched...

Mads Kiilerich mads at kiilerich.com
Tue Oct 20 10:02:15 CDT 2009


On 10/20/2009 03:04 PM, Alexander Schatten wrote:
> Now, can anyone of you experts give me a more founded opinion? Point me to some good sources?

You will find several opinions on this topic, and they are all founded 
in what works well with a specific workflow and organisation and culture 
which probably is different from yours. Caveat emptor! ;-)

Rebase of branches generally works fine with de-coupled distributed 
development, no matter if it is open source developers experimenting in 
their own secret branch or if it is commercial development groups making 
occasional code drops. That is essentially what happens within all the 
open source projects where patches are sent to mailing lists - such as 
Mercurial itself.

I think it should be pointed out that rebasing changes which has been 
shared with others through the DVCS is one (bad) thing.

Rebasing your own changes in your own working directory repository 
before you share them with others is a different thing which might be a 
good idea to avoid unnecessary complex history.

You should also consider that merging is supported by core Mercurial, 
while rebase (and similar methods) are extensions. Rebase modifies 
history and should be used with care; if things goes wrong you might 
find yourself in a mess which is hard to clean up.

/Mads
presenting unfounded opinions ;-)


More information about the Mercurial mailing list