CVSup
Encyclopedia
CVSup is a computer program
written for Unix/Linux based systems that synchronizes
files
and directories
from one location to another while minimizing data
transfer using file-type specific delta encoding
when appropriate. CVSup was designed for keeping source code
repositories
- such as CVS
- synchronized, but has been extended to support synchronizing any type of file.
In some manners, CVSup operates similarly to the rsync
program, with some notable differences. CVSup attempts to balance data transfer in each direction, 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
. 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.
Computer program
A computer program is a sequence of instructions written to perform a specified task with a computer. A computer requires programs to function, typically executing the program's instructions in a central processor. The program has an executable form that the computer can use directly to execute...
written for Unix/Linux based systems that synchronizes
File synchronization
File synchronization in computing is the process of ensuring that computer files in two or more locations are updated via certain rules....
files
Computer file
A computer file is a block of arbitrary information, or resource for storing information, which is available to a computer program and is usually based on some kind of durable storage. A file is durable in the sense that it remains available for programs to use after the current program has finished...
and directories
Directory (file systems)
In computing, a folder, directory, catalog, or drawer, is a virtual container originally derived from an earlier Object-oriented programming concept by the same name within a digital file system, in which groups of computer files and other folders can be kept and organized.A typical file system may...
from one location to another while minimizing data
Data
The term data refers to qualitative or quantitative attributes of a variable or set of variables. Data are typically the results of measurements and can be the basis of graphs, images, or observations of a set of variables. Data are often viewed as the lowest level of abstraction from which...
transfer using file-type specific delta encoding
Delta encoding
Delta encoding is a way of storing or transmitting data in the form of differences between sequential data rather than complete files; more generally this is known as data differencing...
when appropriate. CVSup was designed for keeping source code
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...
repositories
Codebase
The term codebase, or code base, is used in software development to mean the whole collection of source code used to build a particular application or component. Typically, the codebase includes only human-written source code files, and not, e.g., source code files generated by other tools or...
- such as CVS
Concurrent Versions System
The Concurrent Versions System , also known as the Concurrent Versioning System, is a client-server free software revision control system in the field of software development. Version control system software keeps track of all work and all changes in a set of files, and allows several developers ...
- synchronized, but has been extended to support synchronizing any type of file.
In some manners, CVSup operates similarly to the rsync
Rsync
rsync is a software application and network protocol for Unix-like and Windows systems which synchronizes files and directories from one location to another while minimizing data transfer using delta encoding when appropriate. An important feature of rsync not found in most similar...
program, with some notable differences. CVSup attempts to balance data transfer in each direction, rather than most of the data being transferred from the server to the client. It attempts to balance CPU and disk utilization server
Server (computing)
In the context of client-server architecture, a server is a computer program running to serve the requests of other programs, the "clients". Thus, the "server" performs some computational task on behalf of "clients"...
to the client
Client (computing)
A client is an application or system that accesses a service made available by a server. The server is often on another computer system, in which case the client accesses the service by way of a network....
. 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
Modula-3
In computer science, Modula-3 is a programming language conceived as a successor to an upgraded version of Modula-2 known as Modula-2+. While it has been influential in research circles it has not been adopted widely in industry...
programming language, was conceived and developed by John Polstra.