The original CVSup code was written in Modula-3 by:

	John Polstra <jdp@polstra.com>

Csup is a rewrite of CVSup in C.  It has been mostly written by:

	Maxime Henrion <mux@FreeBSD.org>

A few contributors have helped him in his task and they are listed
here in alphabetical order:

	Olivier Houchard <cognet@FreeBSD.org>
	Ulf Lilleengen <lulf@kerneled.org>
	Christoph Mathys <cmathys@bluewin.ch>	(Google SoC Project)
	Etienne Vidal <etienne.vidal@gmail.com>

Last but not least, this project would have never been possible
without the generous donations he received from various people.
Here they are, in alphabetical order:

	Eric Anholt
	Garance A Drosehn
	Paul Gregg
	Marcel Moolenaar
	Devon O'Dell
	Mike Tancsa
	Mikko Tyolajarvi

Building & Installing

First, in order to build csup, you will need a few dependencies:

  * The OpenSSL crypto lib and associated openssl/md5.h header
  * The zlib library and associated zlib.h header
  * GNU make
  * lex/yacc

As usual, to build the source code, run "make".  If you're running
a BSD flavoured system, you will most likely need to run "gmake"
instead, to invoke the GNU make variant instead of the system one.

Once the build is done, you can run "make install" (or alternatively,
"gmake install") as root to install the csup binary, the cpasswd
script and their respective manual pages.

Be warned however that if the packaging system of your OS knows
about csup, it is preferable to install it from there rather than
by hand, so that it can be properly deinstalled afterwards.

Csup should build and run fine under any *BSD OS (that includes
FreeBSD, NetBSD, OpenBSD and DragonFlyBSD), as well as Linux and
Darwin.  It has also been tested successfully on a wide range of
architectures: x86, amd64, sparc64, alpha, ia64, arm and powerpc.
If you have a problem building from source, drop me a mail!


CVSup is a software for distributing and updating collections of
files accross a network.  It can efficiently and accurately mirror
all types of files, including sources, binaries, hard links, symbolic
links, and even device nodes.  In addition to being a great
general-purpose mirroring tool, CVSup includes special features and
optimizations specifically tailored to CVS repositories.

CVSup is being used as the preferred way to update sources within
the FreeBSD, NetBSD and OpenBSD projects, and by many more projects
such as PostgreSQL.

More information on CVSup can be found at:


This project is a rewrite of CVSup in the C language.  It was started
for pragmatic reasons rather than religious ones: the Modula-3
runtime environment has not been ported to all the achitectures
supported by the various *BSD projects, plus it was increasingly
difficult to find people for maintaining the code.


The csup project is now officially completed.  It has proven to be
a solid CVSup replacement for client-only functionality, and is now
being shipped along with the FreeBSD operating system, since FreeBSD

It is still being maintained externally as well, mostly for the
sake of other operating systems.  The code can be found in this
Mercurial repository: