Date: Wed, 16 Nov 2011 15:59:24 -0600 From: "Conrad J. Sabatier" <conrads@cox.net> To: Matthias Apitz <guru@unixarea.de> Cc: freebsd-ports@freebsd.org Subject: Re: cvs checkout ./. csup Message-ID: <20111116155924.00c6a41f@cox.net> In-Reply-To: <20111115094823.GA9461@sh4-5.1blu.de> References: <20111115094823.GA9461@sh4-5.1blu.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 15 Nov 2011 10:48:26 +0100 Matthias Apitz <guru@unixarea.de> wrote: > > Since many years I'm fetching or updating /usr/ports with > > # cd /usr > # setenv CVSROOT :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs > # cvs checkout ports > > and later do the updating just with: > > # cd /usr/ports > # cvs update > # portupgrade -ai > > The FreeBSD handbook describes (or recommends?) using 'csup' for > updating ports tree... What is the advantage (or reason, if any)? Basically, for doing updates across the network, csup is the preferred method (for reasons of efficiency and less strain on the server). If you do need the versioning information provided by CVS (for example, to create a diff to submit for a ports patch, or simply for convenient access to the CVS history of a particular file), then you may want to try the following method: Use csup to maintain a local copy (default directory /home/ncvs) of the parts of the CVS repo you need (src, ports, doc, etc.), using a modified copy of /usr/share/examples/cvsup/cvs-supfile. You'll probably want to setup a cron job to do this automatically at regular intervals. Then use cvs to update your /usr/{src,ports,doc} trees from your local copy of the CVS repo. Note that having a local CVS repo also eliminates the need to use the pserver access method, if you're updating on the same machine where the repo resides. If you decide to do this, you'll need to remove your current working {src,ports,doc} tree(s) and then do a 'cvs checkout' the first time to setup the CVS-versioned tree(s). For example: export CVSROOT=/home/ncvs cd /usr rm -rf ports cvs checkout ports After having done the initial checkout, you can then use "cvs update" (or simply "make update") to maintain the tree. This gives you the best of both worlds: fast, efficient updates across the network, while still providing access to all the versioning features of CVS. Hope this helps. :-) -- Conrad J. Sabatier conrads@cox.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20111116155924.00c6a41f>