Re: cvs checkout ./. csup
On Sat, Nov 19, 2011 at 04:11:24PM + I heard the voice of Christian Weisgerber, and lo! it spake thus: > > You can also export the repository by NFS to other machines nearby. > A "local" checkout from an NFS file system is more efficient than > cvs's remote handling. An additional speedup can be gotten from using readonly mode (cvs -R); that saves a lot of lockfile creation along the way. -- Matthew Fuller (MF4839) | fulle...@over-yonder.net Systems/Network Administrator | http://www.over-yonder.net/~fullermd/ On the Internet, nobody can hear you scream. ___ freebsd-ports@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"
Re: cvs checkout ./. csup
Conrad J. Sabatier wrote: > 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. You can also export the repository by NFS to other machines nearby. A "local" checkout from an NFS file system is more efficient than cvs's remote handling. -- Christian "naddy" Weisgerber na...@mips.inka.de ___ freebsd-ports@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"
Re: cvs checkout ./. csup
Matthew Seaman wrote: > Efficiency, basically. csup should require less bandwidth and put less > load on servers than using cvs directly. It works like rsync, Actually, csup is much more efficient than rsync because it can cache the meta information and so doesn't have to perform a stat() on each file. That doesn't matter so much on the client (compare plain csup vs. csup -s), but it is quite significant on the server. And anon cvs is just an enormous hog on the server side. -- Christian "naddy" Weisgerber na...@mips.inka.de ___ freebsd-ports@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"
Re: cvs checkout ./. csup
On Tue, 15 Nov 2011 10:48:26 +0100 Matthias Apitz wrote: > > Since many years I'm fetching or updating /usr/ports with > > # cd /usr > # setenv CVSROOT :pserver:anon...@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 conr...@cox.net ___ freebsd-ports@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"
Re: cvs checkout ./. csup
Quoth Daniel Nebdal on Tuesday, 15 November 2011: > On Tue, Nov 15, 2011 at 12:00 PM, Matthew Seaman > 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:anon...@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 | sterl...@camdensoftware.com | http://chipsquips.com OOO | 2048R/D6DBAF91 | http://chipstips.com pgpZX4UD0cPH1.pgp Description: PGP signature
Re: cvs checkout ./. csup
On Tue, Nov 15, 2011 at 12:00 PM, Matthew Seaman 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:anon...@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 -- Daniel Nebdal ___ freebsd-ports@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"
Re: cvs checkout ./. csup
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:anon...@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. Cheers, Matthew -- Dr Matthew J Seaman MA, D.Phil. 7 Priory Courtyard Flat 3 PGP: http://www.infracaninophile.co.uk/pgpkey Ramsgate JID: matt...@infracaninophile.co.uk Kent, CT11 9PW signature.asc Description: OpenPGP digital signature
cvs checkout ./. csup
Hello, Since many years I'm fetching or updating /usr/ports with # cd /usr # setenv CVSROOT :pserver:anon...@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)? Thanks in advance matthias -- Matthias Apitz t +49-89-61308 351 - f +49-89-61308 399 - m +49-170-4527211 e - w http://www.unixarea.de/ ___ freebsd-ports@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"