Re: [Sablevm-developer] suggestion: sablevm developer doc
Brought to you by:
egagnon
From: Prof. E. M. G. <eti...@uq...> - 2003-03-18 13:13:45
|
OK guys, you want a proof that CVS is broken. I'll eventually prepare an example for you, but not now; I don't have the time. The example goes along the lines of: You make 2 branches, you "cvs add ; cvs commit" distinct files with the same name on the respective branches, then CVS loses one of the two files without warning. Also, I encourage you to experiment maintaining a branch and trying to merge trunk updates into the branch. CVS is good at the reverse (e.g. merging branch modifs into the trunk), but it not very helpful at tracking trunk changes in a branch. FYI, you might want to learn about how robust merging works. PRCS identified 14 distinct situations: http://prcs.sourceforge.net/merge.html The interesting thing is that PRCS actually asks you before performing an action. Additional reading identifying some of CVS's problems & advantages: http://prcs.sourceforge.net/cvs-vs-prcs.html http://prcs.sourceforge.net/kingdon.html Almost all projects only use a single branch in CVS, so they don't suffer from the problems above. So, your argument does not hold. Do a serious search on the Internet to find about CVS's problems, you you'll see it has many more problems than you think. I di my own homework and tested CVS extensively before drawing my conclusions. Have you done yours? Etienne On Tue, Mar 18, 2003 at 07:23:38AM -0500, Chris Pickett wrote: > Grzegorz B. Prokopski wrote: > > >W li?cie z wto, 18-03-2003, godz. 01:17, Prof. Etienne M. Gagnon pisze: > > > > > >>On Mon, Mar 17, 2003 at 03:53:20PM -0500, Chris Pickett wrote: > >> > >> > >>>How about . . . we just have a development branch and the main trunk. > >>>Anyone can hack away on the development branch (obviously trying not to > >>>break things), and then once in a while Etienne merges changes into the > >>>main trunk. Or some other such multi-developer version control idiom. > >>> > >>> > >>The problem, with CVS, is that when you add something new on a branch, > >>it is considered as head and thus shows up in the main trunk and in > >>the Changelog. > >> > >> > >Are you sure? CVS docs say sth. rather opposite, see > >http://www.loria.fr/~molli/cvs/doc/cvs_5.html#SEC49 > > > >"CVS allows you to isolate changes onto a separate line of development, > >known as a branch. When you change files on a branch, those changes do > >not appear on the main trunk or other branches." > > > >Projects like Mozilla use CVS in the model of HEAD (unstable, > >development version) and branches (stable releases). If CVS weren't > >suitable for this - would they use it? > > > > > > I kind of like the Mozilla model of development. I think it makes more > sense than having a development branch, actually. It says, "If you want > a stable release, don't check out from CVS but rather get a tarball. > And if you really want to check out the sources in the tarball from the > release branch, you can." > > CVS may have problems but then again 99% of projects use it so it can't > be that severely broken. > > Chris -- Etienne M. Gagnon, Ph.D. http://www.info.uqam.ca/~egagnon/ SableVM: http://www.sablevm.org/ SableCC: http://www.sablecc.org/ |