=================================================================== RCS file: /cvsrepo/anoncvs/cvs/www/Attic/cvsync.html,v retrieving revision 1.137 retrieving revision 1.138 diff -u -r1.137 -r1.138 --- www/Attic/cvsync.html 2017/06/26 17:18:57 1.137 +++ www/Attic/cvsync.html 2017/10/23 10:14:17 1.138 @@ -19,66 +19,49 @@

OpenBSD -CVSync +Source repository access: CVSync and rsync


-

What Is CVSync?

+OpenBSD uses the CVS version control system. +It is described in more detail here. +The cvs(1) command is used +to checkout a working tree and perform standard operations (log, diff, etc). +It can either contact an CVS server (in most cases this will be an OpenBSD +anoncvs server), or operate against a local +copy of the repository. -CVSync is a software package for distributing and updating source -trees from a master cvs(1) -repository on a remote server host. -The OpenBSD sources are maintained in a CVS repository on a central -development machine in Canada. - With CVSync, OpenBSD users can easily keep their own source trees up to date. -

-CVSync uses the so-called pull model of updating. Under the pull -model, each client asks the server for updates, if and when they are -wanted. The server waits passively for update requests from its clients. -Thus all updates are instigated by the client. The server never sends -unsolicited updates. Users must either run the CVSync client -manually to get an update, or they must set up a -cron(8) job to run it -automatically on a regular basis. +If you would like to operate a local anoncvs server, use cvs(1) commands +offline, or simply have faster access, you may use CVSync or rsync to +fetch a local copy of the repository. -

-The term CVSync, capitalized just so, refers to the entire software -package. Its main components are the client cvsync which runs on -each user's machine, and the server cvsyncd which runs at each of -the OpenBSD CVSync mirror sites. +

What Is CVSync?

+CVSync is a software package specifically used for distributing +and updating cvs(1) repositories. +As it has knowledge of the file format it can operate more efficiently +than a general-purpose file synchronization program, however it is not +bug-free and can have problems updating at times. +

-The OpenBSD Project currently has four main source repositories: +The client cvsync runs on each user's machine (typically from +a cron(8) job), and fetches +from a server running cvsyncd. -

- -

What Is CVS?

- -CVS is the source code control system used to manage the OpenBSD source -tree. It is described in more detail here. -Note that CVS and CVSync are entirely different programs. Although -CVS can be used for remote file access, it is not optimized for -wholesale source tree distribution over the net, and CVSync can be -easily an order of magnitude more efficient for this task. -

Getting Started Using CVSync

-If you only care about running CVSync, it is recommended that you -download the cvsync package from the ftp mirror -sites instead of building your own from the net/cvsync -port. -

-For further information about CVSync, see the -project homepage. -However, don't build your own copy from unmodified upstream source - +CVS is part of OpenBSD's base system. +CVSync is an entirely different program and can be installed from +packages: + +

+        pkg_add cvsync
+
+ +Do not build your own copy from unmodified upstream source - the port/package has been modified to support commitid which is now used in the OpenBSD repository. @@ -100,10 +83,11 @@

-This directs cvsync to refresh all OpenBSD distributions from +This directs cvsync to fetch or refresh all OpenBSD distributions from anoncvs.eu.openbsd.org with a umask(2) that permits group write permission to the local repository. +The local copy of the files are stored in /cvs.

Assuming this file is saved as cvs-syncfile, the @@ -113,6 +97,38 @@ cvsync -c cvs-syncfile +

Getting Started Using Rsync

+ +Some repository mirrors offer access via rsync, a general-purpose +file synchronization program. +Again this should be installed from packages. +Two flavours are available: + +
+	# pkg_add rsync
+	Ambiguous: choose package for rsync
+	a	0: 
+		1: rsync-3.1.2p0
+		2: rsync-3.1.2p0-iconv
+	Your choice:
+
+ +Unless you have other requirements, simply install the standard version +(option 1 on the list above). +You can select the flavour on the command-line to avoid +pkg_add(1) prompting for the +version like so: +
+	pkg_add rsync--
+
+ +In order to mirror the OpenBSD repository with rsync, +the following command line might be used: + +
+	rsync -avz --delete rsync://obsdacvs.cs.toronto.edu/obsdcvs/ /cvs/
+
+

Using CVS to Work With Your Repository

Now that you have a local copy of the CVS repository, it is now simple @@ -130,9 +146,9 @@ cvs(1) man page. -

Available CVSync Servers

+

Available Repository Servers

-The following CVSync servers are available: +The following CVSync and rsync repository servers are available: