VCS

From Things and Stuff Wiki
Revision as of 08:53, 11 February 2019 by Milk (talk | contribs) (→‎Distributed)
Jump to navigation Jump to search


General

See also Git


  • https://en.wikipedia.org/wiki/Version_control - A component of software configuration management, version control, also known as revision control or source control, is the management of changes to documents, computer programs, large web sites, and other collections of information. Changes are usually identified by a number or letter code, termed the "revision number", "revision level", or simply "revision". For example, an initial set of files is "revision 1". When the first change is made, the resulting set is "revision 2", and so on. Each revision is associated with a timestamp and the person making the change. Revisions can be compared, restored, and with some types of files, merged.

The need for a logical way to organize and control revisions has existed for almost as long as writing has existed, but revision control became much more important, and complicated, when the era of computing began. The numbering of book editions and of specification revisions are examples that date back to the print-only era. Today, the most capable (as well as complex) revision control systems are those used in software development, where a team of people may change the same files.

Version control systems (VCS) most commonly run as stand-alone applications, but revision control is also embedded in various types of software such as word processors and spreadsheets, e.g., Google Docs and Sheets and in various content management systems, e.g., Wikipedia's Page history. Revision control allows for the ability to revert a document to a previous revision, which is critical for allowing editors to track each other's edits, correct mistakes, and defend against vandalism and spamming. Software tools for revision control are essential for the organization of multi-developer projects.



  • https://gitlab.com/esr/reposurgeon - A tool for editing version-control repositories and translating among different systems. Supports git, bzr, Subversion, darcs, and fossil directly, also hg, CVS, and RCS through plugins.


Local file system

old

SCCS / CSSC

  • http://www.gnu.org/software/cssc/ - CSSC is the GNU Project's replacement for SCCS. SCCS is a proprietary suite of tools which is provided with most commercial versions of Unix. The purpose behind CSSC is to provide a work-alike for SCCS which can be used on the various Free versions of Unix.

SCCS was the only major form of source code control on Unix platforms for many years, until RCS came along. SCCS was an effective method for small projects, but these days is less popular, particularly for projects involving large numbers of files. A fair amount of old software is still in SCCS form, and CSSC is designed to retrieve that software. Once retrieved, it is highly recommended to bring the source under the control of more modern source code control systems, such as git or Apache Subversion.

RCS

  • GNU RCS - The Revision Control System (RCS) manages multiple revisions of files. RCS automates the storing, retrieval, logging, identification, and merging of revisions. RCS is useful for text that is revised frequently, including source code, programs, documentation, graphics, papers, and form letters.

RCS design is an improvement from its predecessor Source Code Control System (SCCS) (see GNU CSSC). The improvements include an easier user interface and improved storage of versions for faster retrieval. RCS improves performance by storing an entire copy of the most recent version and then stores reverse differences (called "deltas"). RCS uses GNU Diffutils to find the differences between versions.

Client-server

CVS

SVN

Bazaar

Distributed



BitKeeper

1998 / 2000

Mercurial

2005


Git

2005

See Git

Fossil

2006


Utils

  • webcheckout - check out repositories referenced on a web page
  • Gource is a software version control visualization tool.

Management

  • Kallithea - project of Software Freedom Conservancy, is a GPLv3'd, Free Software source code management system that supports two leading version control systems, Mercurial and Git, and has a web interface that is easy to use for users and admins. You can install Kallithea on your own server and host repositories for the version control system of your choice. [3]
  • Gerrit - provides web based code review and repository management for the Git version control system.


GitHub

  • opml-gen - Generate an OPML file for your starred repositories on GitHub