Cvsup is a computer program that synchronizes files and directories while keeping the amount of transferred data is minimized by using depending on file type specific delta algorithms. Cvsup was originally designed to keep the source code archives of version control systems such as CVS up to date, but was eventually extended so that it can synchronize any type of files.
Cvsup is with its properties in principle with the program rsync comparable, but there are some important differences. So cvsup attempts to compensate for the exchange of data in each direction, instead of placing the emphasis on the direction server - client. The same is true for the CPU and disk utilization.
In addition, specialized delta algorithms are used depending on the type of the file. For example, since files can grow within a CVS repository in a certain way, the amount of data to be transmitted and the required computing resources can be further minimized by an appropriate adjustment of the algorithm. Many other file types are supported, and if no specific support is installed, a generic algorithm is used.
Cvsup is written in Modula -3. Csup is a compatible implementation of the cvsup cvsup to clients in C.