[Python-Dev] I am now lost - committed, pulled, merged, what is "collapse"?

Stephen J. Turnbull stephen at xemacs.org
Mon Mar 21 10:33:00 CET 2011


R. David Murray writes:
 > On Mon, 21 Mar 2011 14:07:46 +0900, "Stephen J. Turnbull" <stephen at xemacs.org> wrote:
 > > No, at best the DVCS workflow forces the developer on a branch to
 > > merge and test the revisions that will actually be added to the
 > > repository, and perhaps notice system-level anomolies before pushing.
 > 
 > hg does not force the developer to test, it only forces the merge.

I didn't say any VCS forces the test; I said that the workflow can (in
the best case).  That's also inaccurate, of course.  I should have
said "require", not "force".

My understanding is that svn does not detect fast forwards, only lack
of conflicts, and therefore in case of concurrent development it is
possible that the repository contains a version that never existed in
any developer's workspace.  If that is not true, I apologize for the
misinformation.

If it is true, by definition developers cannot test or review what
hasn't existed in their workspace; that testing and review is
therefore imposed on the project as a whole, and perhaps not done
until more concurrent commits have been made.  On the other hand, in a
DVCS this can't happen under normal circumstances.

 > As far as I can see, the only difference between hg and svn in this
 > regard is that svn merging was easier, because, as you say, it was done
 > behind the scenes when one did a conflict-free commit.

That's true from the point of view of the individual developer; the
DVCS requires more effort of her.  That is not true from the point of
view of the whole project however.

It would be possible for the svn-based workflow to require that after
testing in one's workspace, one does an svn update, and if any changes
are made to files in the workspace, the whole build and test procedure
must be repeated.  I don't see that that has advantages over the hg
workflow, though -- it should cause an addition build-test cycle in
exactly the same revision sequences that the hg workflow does.



More information about the Python-Dev mailing list