Subject: Re: Getting the latest pkgsrc.tar.gz
To: Rakhesh Sasidharan <rakheshster@gmail.com>
From: Geert Hendrickx <ghen@telenet.be>
List: pkgsrc-users
Date: 05/27/2006 13:04:43
On Sat, May 27, 2006 at 07:16:10AM +0400, Rakhesh Sasidharan wrote:
> I understand that the "-d" option (after "update")  tells the update
> command to create any new directories that might be in the repository
> but not in the local tree. Which is fine; but what about any
> directories that might be in the local tree but NOT in the repository
> -- do those get removed automatically?
> 
> For instance, say there's a package "www/mono" which was so far in the
> repository and hence in my local tree too. One fine day "www/mono" is
> removed from the repository coz its no longer working -- would a "cvs
> up -dP" take care of removing "www/mono" from my local tree too?

That's what -P (prune) is for.  In CVS, directories are not removed, only
files are.  So if e.g. this www/mono package is removed, this means the
files in that directory are removed (with "cvs rm") from te repository.
The directory itself however keeps existing.  The -P flag tells the cvs
client to look for empty directories and remove them for your local tree.  

This is different from directories that do not exist in the repository but
are in your own tree (e.g. home-made packages).  Those are skipped by CVS
and marked with a ? during checkout.  You can list directories and files to
be skipped in a .cvsignore file if you want.  

Btw, using cvs -q (for quiet) up -dP will give you less verbose output: it
will only list the files updated/added/removed.  

	Geert