LCFG Subversion Repository

Accessing the Repository

The first thing you should do prior to actually accessing the LCFG Subversion Repository is read the subversion documentation. This is available in the Version Control with Subversion book, which is available free online. Note that we are using version 1.4 of Subversion, so find the version of the book which corresponds to that version (there are multiple versions available online).

People familiar with CVS may want to read the appendices first, especially Subversion for CVS Users, and use the remainder of the book for reference.

To grab a working copy of the LCFG Subversion Repository you need to check it out as follows:

bash$ svn checkout https://svn.lcfg.org/svn/lcfg/core
bash$ svn checkout https://svn.lcfg.org/svn/lcfg/live

You can also check out both directories in one command if you like - just list both the URLs above in the same svn checkout command.

It is important that this is done into a clean directory that at the very least has no existing subdirectories called ./core/ or ./live/ as the checkout will attempt to create these.

Don't Check Out The Whole Repository

Note that the above checkout does not give you a copy of the entire repository. Doing that would be a bad idea as the repository's releases directory grows by at least two new complete releases of DICE per week. In the repository this is manageable as each release is just stored as diffs, but if you check them all out, each release will get full copies of each file and your checkout will quickly become unmanageably large!

Users were formerly advised to check out the entire repository. Anyone who still has a checked out copy of the whole repository (the top level directory of the checkout will be called lcfg) should delete it and instead just check out the core and live directories as described above.

Repository Directory Structure

core
This contains most of the headers (in core/include) and all of the package files (in core/packages) for DICE. Everything in core goes into the weekly DICE releases.
live
This contains the network headers (in live/include). These are excluded from release management so that changes to them can go quickly to all hosts.

Important Tips For Using Subversion With The LCFG Sources

There are some very important things people need to get used to doing when using Subversion to manage the LCFG sources:

Make sure you write something meaningful in the commit comment
It doesn't matter how small the change is, write something in the commit comment when you commit. Even if it's as small as "typo" it means people know what kind of thing you did.
Get into the habit of following the Basic Work Cycle
This is very important as it ensures that you always have an up to date copy of LCFG sources before you start making changes. It is also a very good idea to use the svn status and svn diff commands on a frequent basis to keep track of what you have changed.
Take advantage of the tools provided to Examine The Repository History
Be nosey and see what other people have done. This is especially important for examining updates that you pull into your working copy when using svn update.
Use the svn commands to perform operations
Use the svn versions of the file management commands rather than the standard commands where possible. This ensures that as much history information is retained and helps when performing svn merge opertaions. The most prominent commands this applies to are:
  • svn cp rather than cp
  • svn mv rather than mv
Use the Subversion Documentation
It's actually quite good and will help you a lot!

-- ChrisCooke - 07 Jul 2006
Refreshed for Subversion 1.4 on 04 Nov 2008

Topic revision: r6 - 03 Mar 2009 - 09:15:21 - ChrisCooke
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
This Wiki uses Cookies