Re: building from CVS... some thoughts





On Sat, 31 Oct 1998 philippe@truth.enit.fr wrote:
> 
> Well, for once I agree that CVS doc is quite good and understandable
>: I could use cvs in no time.

I have found the CVS documentation very helpful ("Version Management
with CVS", not the man page).  It goes in depth as to why CVS works
the way it does.  It's not required reading to use GNOME's CVS server,
but I would say it is recommended reading.  Print it out if you can; in
the RedHat cvs package, it is "/usr/doc/cvs-<whatever>/cvs.ps".


> Now, maybe you just could use a couple commands like this (just
> close your eyes and pray :-)): 
> 
> Before anything else, you have to tell cvs where is the modules you
> want to get : 
> 
> > setenv CVSROOT :pserver:anonymous@anoncvs.gnome.org:/cvs/gnome

One tip, particularly useful if you use more than one different CVS
server is to set up an alias as follows (in your .bashrc) (NOTE: tcsh
users would use the tcsh alias syntax, which is slightly different):

alias cvsgnome="cvs -d :pserver:anonymous@anoncvs.gnome.org:/cvs/gnome"

The "-d :pserver..." eliminates the need to use the setenv command.
If you set one of these aliases for each CVS server you use, it allows
you to access multiple CVS servers without constantly changing the
CVSROOT variable.


> This basically says that you are login in as anonymous on the
> machine anoncvs.gnome.org which holds the root of everything in
> /cvs/gnome. 
> 
> Then you have to actually log in :
> 
> >  cvs login

You would then use "cvsgnome login" instead of "cvs login".  Likewise,
you would replace all further references to "cvs" with the alias.


> just enter on passwd since there is none.
> 
> -the first time you want to bring a module from cvs :
> 
> > cvs -z3 checkout <module_name> 
> 
> where module_name could be "gtk+" "glib" "ORBit" "gnome-libs" ...The
> z3 is not mandatory but fasten things up by
> compressing/uncompressing on both sides.

Another handy tip, if you checkout the CVSROOT (all caps) module, you
will find the file CVSROOT/modules has a nice listing of all the
modules available on the server.


> This will build up a subdirectory from you local point named
> "module_name".  Everything you need (humm almost ..) for this module
> is there.
> 
> > From now on, each time you would like to bring the module in sync
> > with the developpment tree, just do  
> 
> > setenv CVSROOT :pserver:anonymous@anoncvs.gnome.org:/cvs/gnome
> 
> >  cvs login
> 
> > cd "module_name"
> 
> > cvs -z3 update

Actually I would add a -Pd (as in "cvs -z3 -Pd update" or "cvsgnome
-z3 -Pd update"), that will add and remove directories as needed.


> This will download only things which have changed since the last
> update. (well for me it doesn't always work right though, so I often
> decide to destroy the whole directory and rebuild it from scratch).

Probably a wise thing to do every so often.  Some junk does build up
in those directories on occasion.


Best of Luck,
-Gleef



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