Announcing CVSup 16.1g ---------------------- Snap-16.1g of CVSup, the CVS-aware network file distribution system, is now available. What Has Changed Since the Previous Snapshot? --------------------------------------------- Fixed a bug that caused the client to crash sometimes when updating the KDE sources. The crashes were caused by thread stack overflow, triggered by the unusually large "refuse" files that are often used in the KDE project. Added support for preserving access lists in RCS files. Access lists are rarely used in CVS repositories, and until now CVSup simply discarded them. However, the KDE project makes extensive use of access lists, and the lack of support for them caused many fixups when updating. The support added in this release is only partial. It does not transfer access lists during an update, but it preserves any access lists which are already present in the user's files. Many thanks to Martin Birgmeier for contributing this fix. Added a new "-f" option to cvsupd which makes it remain in the foreground rather than becoming a daemon. This makes it possible to control cvsupd using the "daemontools" package. Many thanks to Andrew J. Korty for implementing this option. Fixed an obscure bug in which NFS-related lstat() failures could cause cvsupd to die with a segmentation violation. The error is almost impossible to reproduce, and may depend on NFS bugs. Added a portability fix submitted by Olaf Wagner, which fixed a bug in the handling of filenames when using the CM3 Modula-3 compiler. Changed the font of the GUI's "messages" pane to make it legible on more systems. Where to Get CVSup ------------------ CVSup is free software. It is available from: ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/ and from the many FreeBSD FTP mirrors. On the FTP sites, the source distribution can be found in "snapshots/cvsup-snap-16.1g.tar.gz". An updated port will appear soon in the "net" category of the FreeBSD ports and packages collection: http://www.freebsd.org/ports/ What Is CVSup? -------------- CVSup is a software package for distributing and updating collections of files across a network. It can efficiently and accurately mirror all types of Unix files, including sources, binaries, hard links, symbolic links, and even device nodes. CVSup's streaming communication protocol and multithreaded architecture make it most likely the fastest mirroring tool in existence today. In addition to being a great general-purpose mirroring tool, CVSup includes special features and optimizations specifically tailored to CVS repositories. By taking advantage of the special properties of the files contained in CVS repositories, CVSup is able to perform updates much faster than traditional systems. CVSup parses and understands the RCS files making up a CVS repository. When updates occur, CVSup extracts new deltas directly from the RCS files on the server and edits them into the client's RCS files. Likewise, CVSup notes the addition of new symbolic tags to the files on the server and sends only the new tags to the client. CVSup is able to merge new deltas and tags from the server with deltas and tags added locally on the client machine. This makes it possible for the client to check local modifications into his repository without their being obliterated by subsequent updates from the server. In addition to distributing the RCS files themselves, CVSup is able to distribute specific checked-out versions. The client can specify a symbolic tag, a date, or both and CVSup will extract the appropriate versions from the server's CVS repository. Checked-out versions do not need to be stored on the server, since CVSup can extract any version directly from the CVS repository. If the client has an existing checked-out tree, CVSup will apply the appropriate edits to update the tree or transform it into the requested version. Only the differences between the existing version and the desired version are sent across the network. To update non-RCS files, CVSup uses the highly efficient rsync algorithm, developed by Andrew Tridgell and Paul Mackerras. CVSup uses lightweight processes (threads) to implement a streaming protocol across the network. This completely eliminates the delays associated with the lock-step, request-reply form of communication used by many existing protocols, such as sup and NNTP. Information is transferred at the full available speed of the network in both directions at once. Network latency and server response delays are rendered practically irrelevant. CVSup uses the "zlib" compression package to optionally compress all communications. This provides an additional 65-75% compression, on top of the diff-based compression already built into CVSup. For efficiency, all processing is built into the CVSup package itself. Neither the client nor the server execute any other programs. For further information about how CVSup works, see the (somewhat out of date) "Blurb" document in the CVSup distribution. Using CVSup to Maintain FreeBSD Sources --------------------------------------- CVSup servers for the FreeBSD sources are currently running at about 85 mirror sites around the world. For an up-to-date list of them, see: http://www.freebsd.org/handbook/mirrors-cvsup.html Using CVSup, you can easily receive or update any of the standard FreeBSD source releases, namely, "cvs", "current", and "stable". The manual page for cvsup(1) describes how to do that. For more detailed instructions, see the section on CVSup in the FreeBSD Handbook: http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/cvsup.html Installation ------------ See the file "Install" in the source distribution for installation instructions. Status of this Release ---------------------- CVSup was first released publicly in August of 1996. Since then it has seen heavy use, and it has been quite stable. Like all software, though, it is not perfect. Please be prepared to find bugs -- without a doubt, there are some. Problems? --------- Please report bugs to . For More Information -------------------- http://www.cvsup.org/ CVSup is a registered trademark of John D. Polstra. John Polstra, Copyright 1996-2003 John D. Polstra $Id: Announce,v 1.54 2003/03/04 22:00:20 jdp Exp $