From owner-freebsd-ports@FreeBSD.ORG Tue Nov 15 13:36:03 2011 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1D9271065692 for ; Tue, 15 Nov 2011 13:36:03 +0000 (UTC) (envelope-from dnebdal@gmail.com) Received: from mail-iy0-f182.google.com (mail-iy0-f182.google.com [209.85.210.182]) by mx1.freebsd.org (Postfix) with ESMTP id E0A7A8FC0A for ; Tue, 15 Nov 2011 13:36:02 +0000 (UTC) Received: by iakl21 with SMTP id l21so10402051iak.13 for ; Tue, 15 Nov 2011 05:36:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=GbPngjYCd0HfQJ06Y2U7JdNibWmGFQw9C2OMtxSrn+s=; b=sjTTBSYRK9I9QFR7dzUdIXEQECcbskm8W1ZJ4sZJP0hA/1oVU6CXlPr8bCbg+mE4T0 QW+6unRDvOfZYwssigoNfZcbVRh75eAFYqkMhjq+6/0tR9xJMz+sC3+o3o4zyTvFDMj9 tXLlb+TfoceUV1PhO6UpeqE2x00I1vBAdhd40= MIME-Version: 1.0 Received: by 10.231.45.9 with SMTP id c9mr6152668ibf.73.1321362323697; Tue, 15 Nov 2011 05:05:23 -0800 (PST) Received: by 10.231.33.205 with HTTP; Tue, 15 Nov 2011 05:05:23 -0800 (PST) In-Reply-To: <4EC2466B.3020808@infracaninophile.co.uk> References: <20111115094823.GA9461@sh4-5.1blu.de> <4EC2466B.3020808@infracaninophile.co.uk> Date: Tue, 15 Nov 2011 14:05:23 +0100 Message-ID: From: Daniel Nebdal To: freebsd-ports@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Subject: Re: cvs checkout ./. csup X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Nov 2011 13:36:03 -0000 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: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)? > > Efficiency, basically. =A0csup should require less bandwidth and put less > load on servers than using cvs directly. =A0It 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 --=20 Daniel Nebdal