cvs checkout ./. csup
Chip Camden
sterling at camdensoftware.com
Tue Nov 15 17:15:14 UTC 2011
Quoth Daniel Nebdal on Tuesday, 15 November 2011:
> On Tue, Nov 15, 2011 at 12:00 PM, Matthew Seaman
> <m.seaman at infracaninophile.co.uk> wrote:
> > On 15/11/2011 09:48, Matthias Apitz wrote:
> >> Since many years I'm fetching or updating /usr/ports with
> >>
> >> # cd /usr
> >> # setenv CVSROOT :pserver:anoncvs at 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)?
> >
> > Efficiency, basically. csup should require less bandwidth and put less
> > load on servers than using cvs directly. It works like rsync, only
> > transferring the parts of the files that changed but exploiting the cvs
> > revision history to produce more specific and minimal deltas than you
> > can get just by using the standard rsync algorithm.
> >
> > However csup(1) doesn't give you any of the VCS features you'ld get by
> > doing a cvs checkout -- so no simple way to diff a local copy against
> > the repo, etc. etc. 'cvs checkout' of all or parts of the ports is still
> > frequently preferable for developing rather than just using the ports.
> >
> > There are also many more cvsup servers worldwide than there are anon-cvs
> > servers.
> >
>
> There's also portsnap, which has been in the base system for a while
> now. It has some of the same drawbacks as csup/cvsup (no VCS
> features), but is in my experience faster than them. In short, you can
> use "portsnap fetch extract" to download a complete compressed tarball
> of current ports and extract it, and after doing that you can use
> "portsnap fetch update" to update to the current state. Read the
> manpage; there are some important details.
>
> It uses a binary patch system that's quite efficient, so if you just
> want an updated /usr/ports , it's probably the fastest solution. (I
> think the exact method is that "fetch" grabs a tarball if it doesn't
> exist. If it does exist, it gets the binary patches required to update
> it to the current state. With it in place, "extract" unpacks the
> entire thing, and "update" only extracts the files touched by the last
> "fetch"-command.)
>
> It has a handbook page: http://www.freebsd.org/doc/handbook/portsnap.html
>
In my experience, portsnap is much faster than csup for updating ports.
I've tried both (at different times) updating almost daily for months at
a time.
--
.O. | Sterling (Chip) Camden | http://camdensoftware.com
..O | sterling at camdensoftware.com | http://chipsquips.com
OOO | 2048R/D6DBAF91 | http://chipstips.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20111115/2bc8085b/attachment.pgp
More information about the freebsd-ports
mailing list