From owner-freebsd-questions@FreeBSD.ORG Sun Jan 27 10:46:40 2013 Return-Path: Delivered-To: freebsd-questions@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id DD68CAE4 for ; Sun, 27 Jan 2013 10:46:40 +0000 (UTC) (envelope-from matthew@FreeBSD.org) Received: from smtp.infracaninophile.co.uk (smtp6.infracaninophile.co.uk [IPv6:2001:8b0:151:1:3cd3:cd67:fafa:3d78]) by mx1.freebsd.org (Postfix) with ESMTP id 4C1CAA52 for ; Sun, 27 Jan 2013 10:46:40 +0000 (UTC) Received: from seedling.black-earth.co.uk (seedling.black-earth.co.uk [81.2.117.99]) (authenticated bits=0) by smtp.infracaninophile.co.uk (8.14.6/8.14.6) with ESMTP id r0RAkVlg051642 (version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Sun, 27 Jan 2013 10:46:31 GMT (envelope-from matthew@FreeBSD.org) DKIM-Filter: OpenDKIM Filter v2.7.4 smtp.infracaninophile.co.uk r0RAkVlg051642 Authentication-Results: smtp.infracaninophile.co.uk/r0RAkVlg051642; dkim=none reason="no signature"; dkim-adsp=none (insecure policy) Message-ID: <5105057F.3090108@FreeBSD.org> Date: Sun, 27 Jan 2013 10:46:23 +0000 From: Matthew Seaman User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:17.0) Gecko/20130107 Thunderbird/17.0.2 MIME-Version: 1.0 To: "Zyumbilev, Peter" Subject: Re: Cronjob Cvsup -> What? References: <20130127001805.97F0119B@hub.freebsd.org> <44d2wrw8fs.fsf@lowell-desk.lan> <5104E6B7.9070302@aboutsupport.com> In-Reply-To: <5104E6B7.9070302@aboutsupport.com> X-Enigmail-Version: 1.5 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="----enig2GOCWRGMPNESSEUDMLIWB" X-Virus-Scanned: clamav-milter 0.97.6 at lucid-nonsense.infracaninophile.co.uk X-Virus-Status: Clean X-Spam-Status: No, score=-1.5 required=5.0 tests=AWL,BAYES_00,SPF_SOFTFAIL autolearn=no version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on lucid-nonsense.infracaninophile.co.uk Cc: freebsd-questions@FreeBSD.org X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Jan 2013 10:46:40 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) ------enig2GOCWRGMPNESSEUDMLIWB Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On 27/01/2013 08:35, Zyumbilev, Peter wrote: > Last 10 years I am using cvsup. Any good guide for the transition to > subversion ? Most of the guides around freebsd.org are aimed at developers who will be using SVN read-write. For simple read-only use (ie. not checking anything into the repository) the following should suffice: 0) Install svn It isn't part of the base system, and it has too many external dependencies with different licensing terms for it to be bought in easily. There's been some discussion about this, but it hasn't happened yet. If it did, the imported version would be fairly minimal, and anyone wanting to use it for serious development would probably just grab the ports version anyhow. If all you want to do is pull down a copy of the sources then you can turn off most of the options to reduce the fairly large dependency tree to something more manageable: BDB=3Doff: Berkeley Database BOOK=3Doff: Install the Subversion Book ENHANCED_KEYWORD=3Don: Enhanced svn:keyword support FREEBSD_TEMPLATE=3Don: FreeBSD Project log template GNOME_KEYRING=3Doff: Build with GNOME Keyring auth support KDE_KWALLET=3Doff: Build with KDE KWallet auth support MAINTAINER_DEBUG=3Doff: Build debug version MOD_DAV_SVN=3Doff: mod_dav_svn module for Apache 2.X MOD_DONTDOTHAT=3Doff: mod_dontdothat for Apache 2.X NEON=3Doff: WebDAV/Delta-V repo access module (neon) P4_STYLE_MARKERS=3Doff: Perforce-style conflict markers SASL=3Doff: SASL support SERF=3Don: WebDAV/Delta-V repo access module (serf) STATIC=3Doff: Build static version (no shared libs) SVNAUTHZ_VALIDATE=3Doff: install svnauthz-validate SVNMUCC=3Doff: Install Multiple URL Command Client SVNSERVE_WRAPPER=3Doff: Enable svnserve wrapper TEST=3Doff: Run subversion test suite There is the new devel/subversion-static port which does all that, and compiles subversion with static linkage so it has *no* runtime dependencies on anything else. The disadvantage here is that if there is, say, a security hole discovered in the one of the libraries subversion links against, you won't secure the statically linked copy of subversion simply by updating to a fixed version of the shlib. subversion-static is really only intended for providing a one-off binary package that people can download and install in order to bootstrap a more standard FreeBSD environment. 1) Choose a SVN mirror close to you. Currently there are two choices: svn0.us-west.FreeBSD.org -- Western USA svn0.us-east.FreeBSD.org -- Eastern USA Use whichever one gives you best performance. Certainly from Europe at the moment us-east seems to be the best choice. The number of SVN mirrors and their global coverage should increase over time, but it will never need as many servers as the old cvsup network. The canonical list of SVN mirrors is here: http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/svn-mirrors.htm= l 2) Choose a protocol for access the SVN servers. Your choices in order of preference are svn:// https:// http:// Use svn:// for best performance. If you're concerned about MITM attacks injecting trojans into the FreeBSD sources, then use https and be sure to verify the certificate hashes on first connection. Otherwise, if you're stuck behind a restrictive firewall, use http:// 3) Choose which branch you want to mirror. It's relatively easy to switch between branches and doesn't involve downloading the entire contents of /usr/src all over again if you change your mind. However right now, the viable choices are head --- Current, the bleeding edge, really only suitable for development purposes stable/9 --- 9-STABLE Still a rapidly changing development branch, but not quite so close to the edge, and with less bleeding involved. stable/8 --- 8-STABLE Ditto. releng/9.1 --- 9.1-RELEASE This tracks any security patches to version 9.1. However, in this case you would be better advised to use freebsd-update(8) to maintain your /usr/src directory tree instead. Similarly releng/9.0 releng/8.3 releng/7.4 for other supported release versions. Don't be fooled into pulling down release/9.1.0 or the like -- this is not a *branch* but a *snapshot*. If you think you want release/9.1.0 then you really want releng/9.1 instead. 4) Make sure /usr/src is empty. Pre-existing files can cause you grief at some unexpected later date even if they don't cause the initial checkout to fail. 5) Put it all together. Run a command like so to check out the content of /usr/src for your chosen branch from your chosen SVN mirror using your chosen protocol: svn co {proto}://{svn-mirror}/base/{branch} /usr/src So, what I would do to checkout 9.1-STABLE from the us-east mirror using svn as the protocol is: svn co svn://svn0.us-east.FreeBSD.org/base/stable/9 /usr/src Then wait for that to complete, as it's going to download a few hundred MB of code. Now, you generally only need to do that step one time. For regular updates to the sources, just run: cd /usr/src svn up This will re-use all the settings you chose above. If you want to change any of the settings then use 'svn switch' from the top to the checked-out tree (ie. cd /usr/src) -- this will avoid downloading the whole repo all over again... svn help switch -- read for clues svn switch ^stable/8 -- change to the 8.4-STABLE sources svn switch --relocate svn:// http:// -- use HTTP instead svn switch --relocate svn://svn0.us-east.FreeBSD.org \ svn://svn0.us-west.FreeBSD.org -- switch to a different mirror To see what setting are currently in force: svn info Working out how to apply these instructions to /usr/ports or /usr/doc is left as an exercise. Cheers, Matthew --=20 Dr Matthew J Seaman MA, D.Phil. PGP: http://www.infracaninophile.co.uk/pgpkey ------enig2GOCWRGMPNESSEUDMLIWB Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.16 (Darwin) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iEYEARECAAYFAlEFBYYACgkQ8Mjk52CukIxWVgCdEuTjUkvZuWs3edgaUkysQIJh H2wAmwTf4HlkmAM2hyM6lO7tvK0AM66O =rE+l -----END PGP SIGNATURE----- ------enig2GOCWRGMPNESSEUDMLIWB--