Difference between revisions of "Introduction to Subversion"

From SourceWiki
Jump to navigation Jump to search
 
(11 intermediate revisions by the same user not shown)
Line 2: Line 2:
 
[[Category:Subversion]]
 
[[Category:Subversion]]
  
==Introduction==
+
Subversion is an open-source centralised [[Version control]] system. The web page for the Subversion project is http://subversion.tigris.org.
  
Subversion is an open-source version control system.
+
==Why Subversion?==
 +
Subversion is very similar to the better known [http://www.nongnu.org/cvs CVS] system however, Subversion has several neat advantages over CVS:
 +
* files and directory can be renamed and keep their history throughout the life of the project.
 +
* commits are atomic, i.e. when you sent a lot of changes to the server, the "commit" is either successful or not. For instance, if the network connection is lost halfway through the transaction, the whole commit fail and the repository is not affected. It also means that you can identify very easily all files changed during a commit.
 +
* a wider choice of access methods is provided, in particular ''webdav'' allows easy access via a web browser.
 +
* support for binary files, i.e. Word documents or Excel spreadsheets can be versioned via Subversion.
  
Subversion provides very fine access control, so only those who you authorise can access your project.  If your project is currently held under CVS, the [http://subversion.tigris.org/project_links.html Subversion links page] lists several tools for converting CVS to Subversion repositories.
+
This is why we chose to install Subversion as the version control system on <tt>[[Subversion server | source]]</tt>. Subversion is actually being developed as a modern successor for CVS and it makes sense to standardise on a more modern technology. Current CVS user will become familiar very quickly with Subversion and new users should not find it any harder to learn.
  
==An Example Project==
+
==<tt>source</tt>: our Subversion server==
  
The link below provides access to an example repository. In this case, the repository holds materials for a course on "How to manage your research project using version control".
+
<tt>source</tt> is a Subversion server that is available for the geographers at Bristol University who are interested in using [[Version Control]] for their project. Your projects can be hosted on <tt>source</tt> in the Subversion system and we can give login to your collaborators so that they can access your code from anywhere with an Internet connection. The access control is very good and it is easy to lock some part of your project to a limited subset of developers for instance.
  
read access for anyone through websvn coming soon...
+
[[ Subversion server|More information]] about <tt>source</tt>.
 +
 +
==An example: <tt>myproject</tt>==
  
Through your browser, you may:
+
<tt>myproject</tt> is an example repository that is setup on <tt>[[Subversion server | source]]</tt> to test subversion. You can access it with a web browser at the URL http://source.ggy.bris.ac.uk/websvn using your login and password. If you do not have an account on <tt>[[Subversion server | source]]</tt>, use the combination <tt>guest</tt> / <tt>imaguest</tt>. Click <tt>myproject</tt> and then naviguate to the <tt>trunk/</tt> directory and look at the files, the log and other links to get familiar with the interface.
  
* Download a copy of the repository
+
If you have downloaded a [[Subversion links|subversion client]], you can use <tt>myproject</tt> as a test repository and send your own changes. To do this, use the URL http://source.ggy.bris.ac.uk/subversion/myproject and checkout <tt>myproject</tt>. You can then edit the files in your working copy and send the changes back to the server by "commiting" your changes.
* Browse the log of changes for files in the repository
 
* Compare differences between file versions
 
* etc...
 
  
Subversion provides very fine access control, so only those who you authorise can access your project. If your project is currently held under CVS, the [http://subversion.tigris.org/project_links.html Subversion links page] lists several tools for converting CVS to Subversion repositories.
+
==More about Subversion==
 +
To find out more about Subversion, we suggest you play with the <tt>myproject</tt> example for a while and look at some more specific [[Subversion day to day|Subversion concepts]]. The [[Subversion links|links section]] contains links to documentation and Subversion clients that you can download to your computer.
 +
 
 +
The slides from the Subversion workshop are also available [ [[Media:Introduction-to-subversion.pdf| pdf]] ]. They contain an introduction to version control, the Subversion terminology and an quick overview of some of the clients.

Latest revision as of 21:53, 9 March 2007


Subversion is an open-source centralised Version control system. The web page for the Subversion project is http://subversion.tigris.org.

Why Subversion?

Subversion is very similar to the better known CVS system however, Subversion has several neat advantages over CVS:

  • files and directory can be renamed and keep their history throughout the life of the project.
  • commits are atomic, i.e. when you sent a lot of changes to the server, the "commit" is either successful or not. For instance, if the network connection is lost halfway through the transaction, the whole commit fail and the repository is not affected. It also means that you can identify very easily all files changed during a commit.
  • a wider choice of access methods is provided, in particular webdav allows easy access via a web browser.
  • support for binary files, i.e. Word documents or Excel spreadsheets can be versioned via Subversion.

This is why we chose to install Subversion as the version control system on source. Subversion is actually being developed as a modern successor for CVS and it makes sense to standardise on a more modern technology. Current CVS user will become familiar very quickly with Subversion and new users should not find it any harder to learn.

source: our Subversion server

source is a Subversion server that is available for the geographers at Bristol University who are interested in using Version Control for their project. Your projects can be hosted on source in the Subversion system and we can give login to your collaborators so that they can access your code from anywhere with an Internet connection. The access control is very good and it is easy to lock some part of your project to a limited subset of developers for instance.

More information about source.

An example: myproject

myproject is an example repository that is setup on source to test subversion. You can access it with a web browser at the URL http://source.ggy.bris.ac.uk/websvn using your login and password. If you do not have an account on source, use the combination guest / imaguest. Click myproject and then naviguate to the trunk/ directory and look at the files, the log and other links to get familiar with the interface.

If you have downloaded a subversion client, you can use myproject as a test repository and send your own changes. To do this, use the URL http://source.ggy.bris.ac.uk/subversion/myproject and checkout myproject. You can then edit the files in your working copy and send the changes back to the server by "commiting" your changes.

More about Subversion

To find out more about Subversion, we suggest you play with the myproject example for a while and look at some more specific Subversion concepts. The links section contains links to documentation and Subversion clients that you can download to your computer.

The slides from the Subversion workshop are also available [ pdf ]. They contain an introduction to version control, the Subversion terminology and an quick overview of some of the clients.