Will re-basing support be added into Bazaar core ?

David Timothy Strauss david at fourkitchens.com
Mon Apr 20 07:47:16 BST 2009


----- "Russel Winder" <russel.winder at concertant.com> wrote:

> I have never understood why "Rebasing is Evil".  Surely it is just
> another tool in the armoury.  Used judiciously it is a valuable tool.
> Using it badly or inappropriately is the problem.

It can be "evil" from the perspective that existing branch history is sacred and should not be altered. This sacredness has a good justification: if you can muck with the history, you can render previously committed work irretrievable. Commits should be durable, at least to activity done through the Bazaar CLI. Of course, we violate this durability now, but that's not an argument for allowing further violation of durability.

I also have to question the purpose of rebasing and whether there's a different, innovative alternative that also solves the (alleged) workflow problems rebasing is used to solve. I've done some pretty crazy feature/vendor/etc. branches for Drupal, and I've not needed to rebase. I'd like to see some realistic use cases that only rebasing can currently solve.

At this point in my arguments, you're probably thinking, "So, just don't use rebasing." But I strongly believe that Bazaar core should provide a safe, coherent set of tools by default. Throwing every tool and option at users is confusing for beginners and dangerous for intermediate users. For each problem, we should try hard to find one really great solution rather than build a smattering of related utilities (like rebase) that can cleverly be combined to solve the problem.

David Strauss



More information about the bazaar mailing list