Subversion Repository

The most source code of the LVS project is migrated from CVS repository to Subversion repository, because Subversion supports transactions by the principle "all or nothing" and generates revision numbers for commit automatically (without doing too much tagging).

The Subversion repository contains the latest development of LVS and all the change history as well. Everyone has read access to the repository, so you may download the most up-to-date development version of the software.

If you are looking for a stable release of the source code, you should go to the LVS Software page to download the corresponding components directly.

There are several ways to access the Subversion repository:

Web Access

If you just wish to browse around or download a few individual files, click the following URLs for different software modules:

Anonymous Subversion

Choose the module you would like and check it out. For example, to get the latest source code of the ktcpvs module, try this command

svn co http://svn.linuxvirtualserver.org/repos/ktcpvs/trunk/ ktcpvs
Write Access

We currently use HTTPS basic authentication for logging in to Subversion. If you want write access to the Subversion repository, write an email to wensong.

For example, to get the latest source code of the ktcpvs module, try this command

svn co https://svn.linuxvirtualserver.org/repos/ktcpvs/trunk/ ktcpvs

Useful SVN Tips


Repository Layout

There are three directories at the root of SVN module repository: trunk, branches and tags. The trunk directory contains the latest code (main trunk), which is similar to the HEAD branch in CVS. The branches and tags are the same as those in CVS.

You can use web access to browse the repository layout of a module. For example, click http://svn.linuxvirtualserver.org/repos/ktcpvs/ to view the layout of ktcpvs module.

You can also use svn command to browse the layout. For example, use the following command to list the layout of ktcpvs module:

svn ls http://svn.linuxvirtualserver.org/repos/ktcpvs/
Local Changes

You can use svn status to know which files were modified, deleted or created, and svn diff to display local modifications. Those two commands do not require a network connection.

Note that usually do not need to use "svn update" just to know your local changes, which requires a network connection.

Branch Switch

Use "svn switch" to update working copy to different branches/tags/trunk.

svn switch URL
Moving Files

Usually do not create new files from scratch when moving files, but use "svn mv", which can help record all change history easily.

svn mv file1 file2

The "svn mv" also works for directories.

Splitting Files

Usually do not create the splitted files from scratch, but use "svn cp" to copy the old file to the new files, remove the old file and modify both newly created files. It can help record change history.

svn cp oldfile newfile1 svn cp oldfile newfile2 svn delete oldfile [edit newfile1 and newfile2] svn commit
Resource