On Jan 2, 16:15, "John A. Martin" wrote:
Perhaps I need a little remedial CVS tutorial.
Martin>
ftp://ftp.xemacs.org/pub/xemacs/beta/xemacs-21.2
1. Before doing that I can look see how big the tarball is and choose
accordingly where to put it.
That's a point. There is no (easy) way to check how big the CVS checkout
will be in advance.
2. When it arrives I can check the signature to tell me the file is
uncorrupted since someone I might know signed it.
Right again. Although if the repository itself hasn't been compromised
then it's quite tricky to intercept and modify what you download, even
with the 'pserver' mechanism (which doesn't use encryption or anything).
3. Before unpacking it I can see what is there and where it will go.
With CVS the checked-out module will end up in a subdirectory relative
to where you are when you run the command, the name of the subdirectory
will be the name of the module (e.g. 'cvs checkout xemacs' creates a
directory ./xemacs).
4. I can choose to put it where it won't clobber something that I
already have and that works (or least that I know something about).
It will always be relative to your current pwd, see above.
5. If I run out of space unpacking it I can without too much trouble
try again someplace else.
You can, in fact, do this with CVS too. Just move whatever you got so far
to somewhere else and redo the operation. It will continue from where you
left off the first time.
At minimum, how can I tell what I'm getting in for. How can I
tell
how big it is and where will it land. How can I specify where it will
land?
I got around 34 MB when I checked out the 21.2 release.
You can modify the directory name it ends up with. Suppose you would
prefer it to end up in /tmp/myXeMacs:
cd /tmp
cvs -z3 -d :pserver:xemacs@cvs.xemacs.org:/usr/CVSroot \
checkout -r r21-2-8 -d myXeMacs xemacs
(the 'checkout' should be on the same line as the cvs command)
Note that from then on you can skip the
'-d :pserver:xemacs@cvs.xemacs.org:/usr/CVSroot' part, as long as you are
in a directory where there is a CVS/ directory. That will usually be
from inside the xemacs/ directory and downwards, except for a few versions
of cvs where the CVS directory is created also above the xemacs directory.
You can do e.g. 'cd xemacs; cvs -q -n update -l' just to check what's
been modified in the repository, without actually doing anything. The '-l'
means 'local in the current directory', i.e. 'not recursive'. Remove the
'-n' and the '-l' and you will get your whole copy up-to-date with respect
to the repository. If you have any local hacks they will automatically be
merged in with what's downloaded, if there are conflicts you will be told
about it so you can fix your hack afterwards.
One more thing though, that version 'r21-2-8' in the example above will
get you a 'frozen' version, so cvs update will do nothing. If you
instead use '-r release-21-2' then you check out a 'branch tag', not
a 'revision tag', and 'cvs -q -z3 update' will keep you updated in the
future. You can always switch between revisions and branches afterwards
though, CVS is smart and will only send you the diffs. '-z3' will compress
the diffs as well. 'cvs status -v filename' is the way to find out what
tags (revisions/branches) exist.
Where should I go to learn how to do these things?
CVS FAQ:
http://www.loria.fr/~molli/cvs/cvs-FAQ/cvsfaq0.html
CVS DOCU:
http://www.loria.fr/~molli/cvs/doc/cvs_toc.html
I think some of this *may* be a little bit out of date, but for normal
operations it should do just fine. There is also good up-to-date docu
coming with CVS, among them a 60+-page postscript file. Most experienced
CVS'ers recommend to read it from end to end twice, and then experiment
a bit with your own little dummy project. Good advice I would say,
although you really don't need to know much just to stay on the bleeding
edge with XEmacs.
Happy CVS'ing!
- Tor