>>>> "Stephen" == Stephen J Turnbull
<stephen(a)xemacs.org> writes:
>>>> "ms" == Michael Sperber
<sperber(a)informatik.uni-tuebingen.de> writes:
ms> Subversion does true atomic commits with global version
ms> numbering.
Stephen> Does this mean that a commit (when done judiciously, as opposed to a
Stephen> MegaPatch) will automatically record the relationship among the
Stephen> various files changed in a commit? I haven't looked closely at that
Stephen> (that's one of your desiderata, I thought), but I've been given to
Stephen> understand that although commits are atomic in the sense that my whole
Stephen> commit gets done either before or after yours, file histories are kept
Stephen> separately.
No, there's only one linear history log for the entire repository.
ms> Subversion is certainly *way* better on branches,
Stephen> In what way? The features that I think we need in the medium term are
Stephen> history sensitivity (where eg branches 1 and 2 both have patch A, then
Stephen> if branch 1 is merged to trunk followed by branch 2, the system is
Stephen> aware that patch A has been applied and does not create a spurious
Stephen> conflict when branch 2 is merged), and distributed repositories (this
Stephen> would be especially nice for packages, where many package maintainers
Stephen> have their own respositories).
Stephen> What I've seen of the list traffic at subversion seems to indicate
Stephen> that these features will be postponed to "after 1.0".
Stephen> That doesn't mean they're the only desirable ones, but those are the
Stephen> ones I've focused on.
The fundamental weakness of CVS is that branches are also per-file,
which means they don't really exist in any tangible sense for the
entire project. This often makes merging branches a F***ing Nightmare
(TM). (And not just in theory---I've been hit by this quite often.)
In Subversion, branches are just copies of a file tree at a certain
revision: this means they're visible in the file-system name space.
The merge database is indeed post-1.0 but, with atomic commits, it's
not that difficult to keep track of what merges have been done and
which ones haven't. (Which is generally impossible with CVS.) I
merge branches all the time with Subversion, and it feels like
Christmas every single time.
I agree a merge database is desirable, but I'm sure the Subversion
people will come up with the functionality in due time. The
development community is active like few others I've seen.
(OpenCM also looks nice, but they just don't seem to be as far along
as the Subversion people.)
--
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla