CVSup was designed and implemented by John Polstra. Many others contributed support, ideas, encouragement, and code. Elego Software Solutions GmbH , Germany, supported the cvsupd.class work. They also offer support for CVSup, CVS, Elego ComPact, and general CM consulting. Contact: info@elego.de. Sergey Osokin created and tirelessly maintains the Russian translation of the CVSup FAQ. It can be found at . Dima Ruban generously opened up his computer, a FreeBSD sup mirror, making real-world testing not only possible, but convenient. In a world where the first question is usually, "Who are you?" Dima asked only, "What else can I do to help?" Peter Wemm, the first CVSup alpha tester, offered enthusiasm, encouragement, and a lot of knowledge about CVS. Jordan Hubbard courageously risked his personal CVS repository by committing to using CVSup for maintaining it, at a time when I myself was not yet willing to do so. He tirelessly accepted new versions for testing, found and reported many bugs, and made many useful suggestions. He also hounded me to implement checkout mode, which otherwise would probably not exist. Justin Gibbs shamed me into implementing fixups, which have turned out to be an important feature. Nate Williams and Satoshi Asami served as alpha testers, reported a number of bugs, and took the trouble to send me some huge core dumps. Poul-Henning Kamp has contributed many good ideas. His CTM package was a major source of inspiration for the project. The client's "deletion limit" is taken from there as well. Poul-Henning's "libmd" code is used in CVSup, and his "phkmalloc", slightly modified for Modula-3 thread safety, is used in the FreeBSD version of the Modula-3 runtime library. SOCKS support works because of the efforts of Darryl Okahata. He tore into the Modula-3 runtime libraries, the SOCKS library, and CVSup itself, finding and fixing bugs in all of them, with no apparent fear or hesitation. The result is that we now have SOCKS support. An elite few programmers have bravely ported CVSup (and sometimes Modula-3) to new platforms, sharing with me the lessons learned. In a few notable cases, these folks put in heroic amounts of time and effort. I hope I haven't forgotten any of them: Spencer Allain, Stan Brown, Dean Gaudet, Marc Fiuczynski, Thomas Lockhart, Owen O'Malley, Matt Mullett, Igor Natanzon, Adam Richter, Fabien Tassin, Rupert Thurner, and Nanbor Wang. Olaf Wagner has provided many good suggestions and has implemented some important features. He has also fixed a number of bugs. Martin Birgmeier contributed the code to support RCS file access lists. Andrew J. Korty suggested cvsupd's "-f" option, and then was kind enough to implement it for me. The following programmers contributed handy utilities for the "contrib" subdirectory: Joseph Koshy, Dom Mitchell, John Reynolds, Wolfram Schneider, Garrett Wollman. Andrey Chernov and David Dawes have each made several suggestions which have led to significant improvements in the package. Ollivier Robert came up with the idea of tunneling CVSup through the "ssh" port forwarding mechanism. Mark Ovens contributed significant improvements to the manual pages. Many thanks to Andrew Tridgell and Paul Mackerras for their elegant rsync algorithm. Pluto Technologies International kindly supported the development of portions of this work. This software uses the RSA Data Security, Inc. MD5 Message-Digest Algorithm. It also incorporates Poul-Henning Kamp's higher-level interfaces to the MD5 functions. $Id: Acknowledgments,v 1.27 2002/12/22 00:24:40 jdp Exp $