Pushing after merge considered harmful

Eli Zaretskii eliz at gnu.org
Mon Mar 1 17:52:32 GMT 2010


> From: Stefan Monnier <monnier at iro.umontreal.ca>
> Date: Sun, 28 Feb 2010 21:02:22 -0500
> 
> Thanks Eli,

Thanks for your comments.

> > Traditional, centralized version control systems, such as CVS or SVN,
> > do not have integral support for branching and merging.  They consider
> > the history of a package as a linear sequence of revisions:
> 
> This is an over-generalization.  RCS, CVS, Svn, and many more
> centralized VCSs support branching and merging.

The point was to say that they don't track parents in merges.  Better
ways of saying that without introducing complexity and without
mentioning parents (which are only explained much later) are welcome.

> Many centralized systems also do that.  The only relationship between
> the two are:
> - recent VCSes provide merge-tracking and that all DVCS are recent.
> - DVCS use merging and branching a lot more extensively and would
>   hence largely be unbearable without merge-tracking.

That's exactly what I tried to say.  I didn't say that only a DVCS can
have a non-linear history; any VCS that tracks merges must.  I tried
to explain why such a non-linear history is needed.  Since this
document is not intended to praise Bazaar vs other VCSs, it shouldn't
matter in this context that other VCSs, including non-distributed
ones, can do the same.  The point is, those which can must have
non-linear history representation, just like Bazaar.  If that
assertion is not true, please point out where I was wrong.

> > To track branching and merging, a DVCS needs to be built around a
> > proper representation of the relations between revisions in the
> > repository.  In contrast with traditional VCSs, a DVCS can no longer
> > represent the history as a line, it needs a non-linear representation
> > that can express branching and merging of revisions.
> 
> I think you might just want to drop all this DVCS-vs-(non-D)VCS since
> most of what you say actually also apply to (non-D)VCSes, even if some
> of them don't really support that internally for one reason or another.
> And in the end, it doesn't really matter whether it also exists in
> (non-D)VCS.

Would it be better if I simply say "Bazaar" instead?



More information about the bazaar mailing list