In some manners, CVSup operates similarly to the rsync program, with some notable differences. CVSup attempts to balance data transfer in each direction,[clarification needed] rather than most of the data being transferred from the server to the client. It attempts to balance CPU and disk utilization server to the client.[clarification needed] It also uses delta algorithms specific to the file being synchronized. For example, files within a CVS repository extend and grow in a particular way. CVSup, when it recognizes a CVS file, will adapt its algorithm to take advantage of this and reduce the amount of data transferred. Many other types of files have specific support, and a generic algorithm is used where no specific support exists. CVSup will only 'pull' data from the remote server.
CVSup can use the ".zlib" compression package to compress all transferred data. CVSup, written in the Modula-3 programming language, was conceived and developed by John Polstra.