|
Revision control is an aspect of documentation control wherein changes to documents are identified by incrementing an associated number or letter code, termed the "revision level", or simply "revision". It has been a standard practice in the maintenance of engineering drawings for as long as the generation of such drawings has been formalized. A simple form of revision control, for example, has the initial issue of a drawing assigned the revision level "A". When the first change is made, the revision level is changed to "B" and so on. For the R.E.M. album, see: Document (album) A document is a writing that contains information. ...
A revision: is a modification; produces a version. ...
An engineering drawing is a type of drawing that is technical in nature, used to fully and clearly define requirements for engineered items, and is usually created in accordance with standardized conventions for layout, nomenclature, interpretation, appearance (such as typefaces and line styles), size, etc. ...
There is more and more software for revision control around as new methods of programming require more complex systems. This is a list of revision control software. ...
Overview
In computer software engineering, revision control is any practice which tracks and provides controls over changes to source code. Software developers sometimes use revision control software to maintain documentation and configuration files as well as source code. In theory, revision control can be applied to any type of information record. In practice, however, the more sophisticated techniques and tools for revision control have rarely been used outside software development circles (though they could actually be of benefit in many other areas). However, they are beginning to be used for the electronic tracking of changes to CAD files, supplanting the "manual" electronic implementation of traditional revision control. Software engineering is the profession that creates and maintains software applications by applying technologies and practices from computer science, project management, engineering, application domains, and other fields. ...
Source code (commonly just source or code) is any series of statements written in some human-readable computer programming language. ...
A software developer is an entity, either a company or individual, that creates software. ...
Computer software (or simply software) refers to one or more computer programs and data held in the storage of a computer for some purpose. ...
In general terms, documentation is any communicable material (such as text, video, audio, etc. ...
Configuration files are used to configure the initial settings for some computer programs. ...
Source code (commonly just source or code) is any series of statements written in some human-readable computer programming language. ...
This article is about computer-aided design. ...
As software is developed and deployed, it is extremely common for multiple versions of the same software to be deployed in different sites, and for the software's developers to be working privately on updates. Bugs and other issues with software are often only present in certain versions (because of the fixing of some problems and the introduction of others as the program evolves). Therefore, for the purposes of locating and fixing bugs, it is vitally important for the debugger to be able to retrieve and run different versions of the software to determine in which version(s) the problem occurs. It may also be necessary to develop two versions of the software concurrently (for instance, where one version has bugs fixed, but no new features, while the other version is where new features are worked on). Generally, a version is a checkpoint at which a particular thing or idea varies from its previous state or condition. ...
A computer bug is an error, flaw, mistake, failure, or fault in a computer program that prevents it from working correctly or produces an incorrect result. ...
A debugger is a computer program that is used to debug (and sometimes test or optimize) other programs. ...
Another problem that occurs in large software development projects is that of multiple developers seeking to work on the program at the same time. If two developers try to change the same file at the same time, without some method of managing access the developers may well end up overwriting each other's work. A computer program (often simply called a program) is an example of computer software that prescribes the actions (computations) that are to be carried out by a computer. ...
A file in a computer system is a stream (sequence) of bits stored as a single unit, typically in a file system on disk or magnetic tape. ...
Some systems attempt to manage who is allowed to make changes to different aspects of the program, for instance, allowing changes to a file to be checked by a designated reviewer before being added. Traditionally, revision control systems have used a centralized model, where all changes to a project are submitted to a single, central server. A few years ago, systems like TeamWare, BitKeeper, SVK, and GNU arch began using a distributed model, where each developer works directly with their own local repository, and changes are shared between repositories as a separate step. This mode of operation allows developers to work without a network connection, and it also allows developers full revision control capabilities without requiring permissions to be granted by a central authority. One of the leading proponents of distributed revision control is Linus Torvalds, inventor of the Linux kernel. TeamWare (later Forte TeamWare, then Forte Code Management Software) is a source code revision control system made by Sun Microsystems. ...
BitKeeper is a software tool for revision control (configuration management SCM etc) of computer source code. ...
SVK is a decentralized version control system written in Perl, with a design comparable to BitKeeper and GNU arch. ...
...
At the simplest level, users can simply retain multiple copies of the different versions of the program, and number them appropriately. This simple approach has been used on many large software projects. Whilst this method can work, it is inefficient (as many near-identical copies of the program will be kept around), requires a lot of self-discipline on the part of developers, and often leads to mistakes. Consequently, systems to automate some or all of the revision control process have been developed. Most revision control software use delta compression, which retains only the differences between successive versions of files. This allows more efficient storage of many different versions of files. In software configuration management ( SCM), delta refers to the difference between two successive versions. ...
Some systems also provide methods for preventing "concurrent access" problems, by simply locking files so that only one developer has write access to the central "repository" at once. Others, such as CVS, provide facilities to merge changes from multiple developers. In the latter type, the concept of a reserved edit can provide an optional means to explicitly lock a file for exclusive write access, even though a merging capability exists. In computer science -- more specifically, in the field of databases -- concurrency control is a method used to ensure that database transactions are executed in a safe manner (i. ...
In software engineering, a lock is a mechanism for enforcing limits on access to a resource in an environment where there are many threads of execution. ...
Write access is a term used in describing permission systems in software applications. ...
A repository is a central place where data is stored and maintained. ...
The Concurrent Versions System (CVS), also known as the Concurrent Versioning System, implements a version control system: it keeps track of all work and all changes in a set of files, typically the implementation of a software project, and allows several (potentially widely separated) developers to collaborate. ...
The merits and risks for file locking are hotly debated. It can provide some protection against difficult merge conflicts when a user is making radical changes to many sections of a large file (or group of files). But if the files are left exclusively locked for too long, other developers can be tempted to simply bypass the revision control software and change the files locally anyway. That can lead to more serious problems. Some of the more advanced revision control tools offer many other facilities, allowing deeper integration with other tools and software engineering processes. Plug-ins are often available for IDEs such as Eclipse and Visual Studio. A plugin (or plug-in) is a computer program that can, or must, interact with another program to provide a certain, usually very specific, function. ...
An integrated development environment (IDE) (also known as an integrated design environment and integrated debugging environment) is computer software to help computer programmers develop software. ...
Eclipse is an open source platform-independent software framework for delivering what the project calls rich-client applications (as opposed to thin clients, this means the clients perform heavy-duty work on the host running the application). ...
Microsoft Visual Studio is a series of IDEs by Microsoft. ...
In particular the Wikipedia:Page history features of Wikipedia are identical in concept and practice to the revision control software discussed above, which was developed for source code control decades before the inception of Wiki software. Wikipedia is a Web-based, free-content encyclopedia written collaboratively by volunteers and sponsored by the non-profit Wikimedia Foundation. ...
A wiki (pronounced , or ; see section Pronunciation) is a web application that allows users to add content, as on an Internet forum, but also allows anyone to edit the content. ...
See also This is a list of revision control software. ...
Files-11, also known as on-disk structure, is the filesystem used by Hewlett-Packards OpenVMS operating system, and also (in a simpler form) by the older RSX-11. ...
OpenVMS V7. ...
A software version is a code attached to a particular release of software to distinguish it from other releases of the same software. ...
In information technology and telecommunications, the term configuration management or configuration control has the following meanings: The management of security features and assurances through control of changes made to hardware, software, firmware, documentation, test, test fixtures and test documentation of an automated information system, throughout the development and operational life...
Source code (commonly just source or code) is any series of statements written in some human-readable computer programming language. ...
In computing, diff is a utility that outputs the difference between two text files. ...
In software development, a neutral build is a build that reflects the current state of the source code checked into the source code version control system, without any developer-specific changes. ...
SyncML (Synchronization Markup Language) is a platform-independent information synchronization standard. ...
WebDAV is an Internet Engineering Task Force working group. ...
SCM is an acronym for Software Configuration Management, and relates to configuration management (CM). ...
External links - The Configuration Management Yellow Pages
|