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

Stephen J. Turnbull stephen at xemacs.org
Mon Mar 21 13:34:39 CET 2011


"Martin v. Löwis" writes:
 > > 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.
 > 
 > I can't understand how you draw this conclusion ("therefore").

A fast forward is a case where some ancestor of the workspace is the
tip of the repository.  When the tip is not an ancestor, it must
contain changes not yet in the workspace.  If a VCS does not check for
fast-forward, then if those changes are in files not changed in the
workspace, there will be no conflict, and in theory there could indeed
be a silent server-side merge.  QED, "therefore".

This seems especially plausible for VCSes that allow only a subset of
files to be committed/pushed.

 > Subversion never ever creates versions in the repository that
 > didn't before exist in some working copy.

John Arbash-Meinel disagrees with you, so I think I'll go with his
opinion absent a really convincing argument otherwise.  No disrespect
to you intended, but John is an expert I've known for years.

 > The notion that it may have done a server-side merge or some
 > such is absurd.

False, quite possibly; I'm not an expert on Subversion internals.
Absurd, definitely not.  CVS does it (and much worse, but it certainly
does this too).

 > You make it sound as if you have never used subversion.

These days, it's awful hard to avoid using Subversion.  However, I
have no experience with committing in Python, and I don't have that
much experience that I can claim to be authoritative, nor have I
managed a multiuser Subversion repository.



More information about the Python-Dev mailing list