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 AccessIf you just wish to browse around or download a few individual files, click the following URLs for different software modules:
- http://svn.linuxvirtualserver.org/repos/ipvsadm for ipvsadm
- http://svn.linuxvirtualserver.org/repos/ktcpvs for ktcpvs
- http://svn.linuxvirtualserver.org/repos/tcpsp for tcpsp
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 SwitchUse "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 FilesUsually 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
- Version Control with Subversion: the authoritative reference guide for subversion.