Difference between revisions of "Introduction to Subversion"

From SourceWiki
Jump to navigation Jump to search
 
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
[[Category:Version Control]]
 
[[Category:Version Control]]
 +
[[Category:Subversion]]
  
 +
Subversion is an open-source centralised [[Version control]] system. The web page for the Subversion project is http://subversion.tigris.org.
  
<h3>Introduction</h3>
+
==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.
  
<p><em>Subversion</em> is an open-source version control system<a href="http://subversion.tigris.org/">Visit the Subversion Homepage</a>.  The <em>Source server</em> can easily host your project, please email <a href="http://www.ggy.bris.ac.uk/staff/staff_renaud.html">Jean-Philippe</a> or <a href="http://www.bridge.bris.ac.uk/people/gethin_williams.htm">Gethin</a> and they will be happy to add your project to <em>Source</em>.</p>
+
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.
  
<p>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 <a href="http://subversion.tigris.org/project_links.html">Subversion links page</a> lists several tools for converting CVS to Subversion repositories.</p>
+
==<tt>source</tt>: our Subversion server==
  
<h3>An Example Project</h3>
+
<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.
  
<p>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".</p>
+
[[ Subversion server|More information]] about <tt>source</tt>.
<a href="http://source.ggy.bris.ac.uk/subversion/subversion-course/">subversion-course</a>
+
 +
==An example: <tt>myproject</tt>==
  
<p><em>read access for anyone through websvn coming soon...</em></p>
+
<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.
  
<p>Through your browser, you may:</p>
+
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.
  
<UL><LI> Download a copy of the repository<LI> Browse the log of changes for files in the repository<LI> Compare differences between file versions<LI> etc</UL>
+
==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.
  
<p>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 <a href="http://subversion.tigris.org/project_links.html">Subversion links page</a> lists several tools for converting CVS to Subversion repositories.</p>
+
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.