Re: [harinath cs umn edu: Re: Gnome-libs and libart_lgpl]



In keeping with this advice, I wipe out my whole damn tree and do a fresh 
checkout every time.  It seems like overkill, but what the hell -- I have 
a cable modem :-)

shane

On 23 Nov 1998, Raja R Harinath wrote:

> Michael Harnois <mharnois@willinet.net> writes:
> > Miguel de Icaza <miguel@nuclecu.unam.mx> writes:
> > > This mail is important, it is worth repeating it one more time :-)
> > 
> > Since, according to the cvs documentation, checkout and update -d
> > should be equivalent on a tree after it has been checked out once,
> > what's wrong with the gnome anoncvs setup that it doesn't work
> > properly?
> 
> 1. I never said
> 
> 	"Don't use `cvs update'"
>    
>    I said 
> 
> 	"Don't use `cvs update' to do the initial checkout"
> 
>    As you say, after a tree has been checked out once, checkout and
>    update -d are virtually equivalent.
> 
> 2. There's one case when `checkout' and `update -d' are different after
>    a tree has been checked out.  That is when a virtual subdir has been
>    added via the `modules' mechanism.  `checkout' knows how to handle
>    it, `update -d' doesn't.  This could be construed as a bug in CVS.
>    However, the documentation for the `modules' mechanism talks only
>    about checkout, not about update.  There's nothing wrong in how the
>    GNOME CVS Repository is set up.  It is just that people have slightly
>    more expectations of orthogonality than CVS really has.
> 
> 3. Let me explain why I said
> 
> 	"Don't use `cvs update' to do the initial checkout"
> 
>    Before I do that, I'll clarify how `cvs update' to do initial
>    checkout even works.
> 
>    When you first checkout, say, `gnome-lib' into a newly created
>    /foo/bar
> 
> 	$ cd /foo
> 	$ mkdir bar
> 	$ cd bar
> 	$ cvs -d :pserver:... co gnome-libs
> 
>    With CVS 1.10, the directory tree looks like
> 
> 	/foo/bar/
> 	         CVS/
> 		     Root
> 		     Repository
> 		     ...
> 		 gnome-libs/
> 			    ...
> 
>    Note especially /foo/bar/CVS.  This makes /foo/bar a potential
>    CVS working dir.  This is a difference from CVS 1.9, which does not
>    create the CVS/ dir at the _same_level_of_the_checked_out_module_.
> 
>    What is significant about a "CVS working dir"?
>    You can run "cvs update" in it.
> 
>    Now, if you want to get `gnome-core' in /foo/bar/.  One way, the
>    right way, is to 
> 
> 	$ cd /foo/bar
> 	$ cvs -d :pserver:... co gnome-core
> 
>    However, people have been taking advantage of /foo/bar being a CVS
>    working dir and getting away with
> 
> 	$ cd /foo/bar
> 	$ cvs update -d gnome-core
> 
>    This is what I strongly suggest not to do.
> 
>    One reason is related to the `modules' mechanism, which is used quite
>    extensively in the GNOME CVS Repository.
> 
>    Another reason is that newer pre-releases of CVS revert to the v1.9
>    behaviour and don't create the CVS/ directory in /foo/bar/, thus
>    making the above trick not to work (unless, you had originally used
>    CVS 1.10 in that directory, and then changed to a newer version).  I
>    expect the next CVS to maintain its behaviour of not creating the
>    CVS/ directory at the same level of the checked out module.
> 
> I hope this finally settles the issue.
> 
> - Hari
> -- 
> Raja R Harinath ------------------------------ harinath@cs.umn.edu
> "When all else fails, read the instructions."      -- Cahn's Axiom
> "Our policy is, when in doubt, do the right thing."   -- Roy L Ash
> 
> 
> -- 
>          To unsubscribe: mail gnome-list-request@gnome.org with 
>                        "unsubscribe" as the Subject.
> 
> 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]