Revision control system tutorial: Difference between revisions
m (using an external editor) |
m (using an external editor) |
||
Line 18: | Line 18: | ||
* It can provide a way for developers to work on separate tasks in parallel, merging their efforts later. | * It can provide a way for developers to work on separate tasks in parallel, merging their efforts later. | ||
* It can provide a way for developers to work together without getting in each others' way. | * It can provide a way for developers to work together without getting in each others' way. | ||
[http://www.ericsink.com/scm/source_control.html Source Control HOWTO], retrieved 17: | [http://www.ericsink.com/scm/source_control.html Source Control HOWTO], retrieved 17:25, 15 October 2008 (UTC)}} | ||
{{quotation|Revision control (also known as version control (system) (VCS), source control or (source) code management (SCM)) is the management of multiple revisions of the same unit of information. It is most commonly used in engineering and software development to manage ongoing development of digital documents like application source code, art resources such as blueprints or electronic models, and other projects that may be worked on by a team of people. Changes to these documents are usually identified by incrementing an associated number or letter code, termed the "revision number", "revision level", or simply "revision" and associated historically with the person making the change. A simple form of revision control, for example, has the initial issue of a drawing assigned the revision number "1". When the first change is made, the revision number is incremented to "2" and so on. ([http://en.wikipedia.org/wiki/Revision_control Wikipedia], retrieved 17: | {{quotation|Revision control (also known as version control (system) (VCS), source control or (source) code management (SCM)) is the management of multiple revisions of the same unit of information. It is most commonly used in engineering and software development to manage ongoing development of digital documents like application source code, art resources such as blueprints or electronic models, and other projects that may be worked on by a team of people. Changes to these documents are usually identified by incrementing an associated number or letter code, termed the "revision number", "revision level", or simply "revision" and associated historically with the person making the change. A simple form of revision control, for example, has the initial issue of a drawing assigned the revision number "1". When the first change is made, the revision number is incremented to "2" and so on. - ([http://en.wikipedia.org/wiki/Revision_control Wikipedia], retrieved 17:25, 15 October 2008 (UTC))}} | ||
; Popular open source systems | ; Popular open source systems | ||
* | * [https://www.cvshome.org/ CVS]. There exist several variants of this software. It was once upon a time the most popular system and therefore still being used. | ||
* | * [http://subversion.tigris.org/ Subversion]. Subversion was designed as a CVS replacement and is todays (2008) most popular system in the open source community. | ||
== Installing a client == | == Installing a client == | ||
Line 38: | Line 38: | ||
=== CVS command-line client === | === CVS command-line client === | ||
In Ubuntu Linux (and other Debian-based systems) type: | The programm is called '''cvs'''. If it is not already on your system, install it. In Ubuntu Linux (and other Debian-based systems) type: | ||
sudo apt-get install cvs | |||
=== Subversion command-line client === | === Subversion command-line client === | ||
The program is called ''svn''. To install it under Ubuntu, type: | |||
sudo apt-get install subversion | sudo apt-get install subversion | ||
== How to get software from CVS == | == How to get software from CVS == | ||
=== Checking out | === Checking out software with the command-line client === | ||
; Most simple version | ; Most simple version | ||
Line 68: | Line 69: | ||
* svn+XXX:// | * svn+XXX:// | ||
The downloading instructions should tell you which one to use. | |||
=== Checking out software with the command line tool === | === Checking out software with the command line tool === |
Revision as of 19:25, 15 October 2008
This article or section is currently under construction
In principle, someone is working on it and there should be a better version in a not so distant future.
If you want to modify this page, please discuss it with the person working on it (see the "history")
<pageby nominor="false" comments="false"/>
Introduction
This short user tutorial should help you to understand how to download software from various revision control systems.
Revision control system (RCS) or Version control system (VCS) or Source code management (SCM) stands for systems that allow software developers to
- Purpose of source control
Sometimes we call it "version control". Sometimes we call it "SCM", which stands for either "software configuration management" or "source code management". Sometimes we call it "source control". [...] By any of these names, source control is an important practice for any software development team. The most basic element in software development is our source code. A source control tool offers a system for managing this source code.
There are many source control tools, and they are all different. However, regardless of which tool you use, it is likely that your source control tool provides some or all of the following basic features:
- It provides a place to store your source code.
- It provides a historical record of what you have done over time.
- It can provide a way for developers to work on separate tasks in parallel, merging their efforts later.
- It can provide a way for developers to work together without getting in each others' way.
“Revision control (also known as version control (system) (VCS), source control or (source) code management (SCM)) is the management of multiple revisions of the same unit of information. It is most commonly used in engineering and software development to manage ongoing development of digital documents like application source code, art resources such as blueprints or electronic models, and other projects that may be worked on by a team of people. Changes to these documents are usually identified by incrementing an associated number or letter code, termed the "revision number", "revision level", or simply "revision" and associated historically with the person making the change. A simple form of revision control, for example, has the initial issue of a drawing assigned the revision number "1". When the first change is made, the revision number is incremented to "2" and so on. - (Wikipedia, retrieved 17:25, 15 October 2008 (UTC))”
- Popular open source systems
- CVS. There exist several variants of this software. It was once upon a time the most popular system and therefore still being used.
- Subversion. Subversion was designed as a CVS replacement and is todays (2008) most popular system in the open source community.
Installing a client
In order to use a RCS, you need to install some software on your computer. There exist several sorts of programs:
- Command line tools (I find them most practical for just checking out something)
- Extensions for IDEs and text editors
- Stand-alone GUI programs.
- Tortoise SVN is the most popular Windows client. It is integrated with the file explorer.
- An other good standalone Subversion client is eSvn
CVS command-line client
The programm is called cvs. If it is not already on your system, install it. In Ubuntu Linux (and other Debian-based systems) type:
sudo apt-get install cvs
Subversion command-line client
The program is called svn. To install it under Ubuntu, type:
sudo apt-get install subversion
How to get software from CVS
Checking out software with the command-line client
- Most simple version
cvs checkout URL path
How to get software from Subversion (SVN)
Subversion protocols
Subversion can be accessed trough several protocols:
- http://
- https://
- svn://
- svn+ssh://
- file:///
- svn+XXX://
The downloading instructions should tell you which one to use.
Checking out software with the command line tool
Open a terminal window. Then use the svn command.
In the most simple case, you will simply have to replace "URL" by the URL that you will find in the downloads instructions. I.e. type:
svn checkout URL
- Example - Mediawiki software
To get the mediawiki software, you need a URL like this (as is it won't work).
svn checkout http://svn.wikimedia.org/svnroot/mediawiki/folders_to_download sub_folder_name
E.g. to download version 13 (oct 2008), you will have to type:
svn checkout http://svn.wikimedia.org/svnroot/mediawiki/branches/REL1_13/phase3
To download the development version:
svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/phase3
Now, to install a new MediaWiki version, you usually would just download an archive. But extensions (and there lots of them) are often available through the MediaWiki subversion archive. It's simpler to use subversion than saving each file individually from the web interface.
To view extension code through the web:
If you want to check it out:
svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/NewsChannel/
The result will be 4 files in the NewsChannel directory.
Links
- Revision control (Wikipedia)
Tutorials
- Subversion (Mediawiki Help)
- Download from SVN (Mediawiki Help)
- Introducing Subversion, IBM Developer Works, by Elliott Harold] (2006) - Explains how to use Eclipse.
Manuals
- Subversion Cheat Sheet of Ariejan de Vroom, a.k.a. the SVN Sheet. (useful for experienced users)
Software links
- List of RCS systems
- List of revision control software (Wikipedia)
- Quick Reference Guide to Free Software Decentralized Revision Control Systems
- Version-Control Systems for Linux
- Lists of clients
- Comparison of Subversion clients (Wikipedia)
- CVS
- CVSNT (Wikipedia)
- CVSNT Home Page
- Subversion
- Subversion (software) (Wikipedia)
- Subversion Home Page - Server
- eSvn - a GUI frontend to the Subversion revision system (Cross platform stand-alone client, Unix/win/mac).
Tutorials for revision control system administrators
(In case you plan to have your own ...)
- Source Control HOWTO by Eric Sink