Getting Started/Sources/Anonymous SVN

Jump to: navigation, search


Contents

Getting Started/Sources/Anonymous SVN

Getting KDE Sources Using Anonymous Subversion (SVN)
Tutorial Series   Getting Started
Previous   None
What's Next   Building KDE4
Further Reading   Version Control with Subversion

Abstract

For those of us that like to stay on the "bleeding edge" there's an easy way to keep a local copy of the KDE sources up-to-date - anonymous SVN.

Alternatively, install KDE SVN packages from your distribution.

Anonymous SVN

Setup Subversion

First, install the subversion (svn) binary if it isn't already on your computer. Your operating system should have a package for it. Alternatively you can download and compile it yourself via the svn project download page. Please read the KDE Subversion tutorial if you are interested in how to use Subversion.

Checkout KDE

/trunk/ is where the Qt4-based KDE 4 is being developed. The following is the minimal set of modules you will need to check out to build KDE and KDE software:

svn co svn://anonsvn.kde.org/home/kde/trunk/KDE/kdelibs
svn co svn://anonsvn.kde.org/home/kde/trunk/KDE/kdebase
Ktip.png
 
Tip
If your firewall doesn't allow access to arbitrary ports, substitute svn://anonsvn.kde.org/ with svn://websvn.kde.org:443/ above.


Ktip.png
 
Tip
The kdebase module has an external dependency, using svn:externals. The problem is, at this time, the externals property is set with an absolute path, pointing to anonsvn. For those using behind a firewall, this is a problem. You can change the property for your workspace, using two commands:
cs KDE
svn propset svn:externals "lib svn://websvn.kde.org:443/home/kde/trunk/KDE/kdebase/runtime/kstyles/oxygen/lib" kdebase/workspace/kwin/clients/oxygen 
This way the external property will look for the aditional files in the websvn repository.


qt-copy is a copy of the latest stable Qt release which works with KDE, put into SVN for convenience. It also contains patches by KDE developers that haven't found their way to Qt yet. They are recommended for those working with KDE from trunk. Instructions on how to get and configure it can be found here.

If you wish to have a complete copy of the KDE distribution, you can simply check out the entire source tree with one command:

svn co svn://anonsvn.kde.org/home/kde/trunk/KDE
noframe
 
Note
It is smarter to first use The KDE Source Repository Web Viewer. Use it to choose which modules to download. This way KDE will be quicker to install and try out.

If you want additional software packages you can check out the following modules within trunk/ as well:

koffice
extragear
playground
kdereview

So, for example, if you want to check out koffice trunk, you can use

svn co svn://anonsvn.kde.org/home/kde/trunk/koffice

Checking out trunk using snapshots

If you are checking out modules from trunk/ you may be able to save time by using snapshots. Using Subversion trunk snapshots is described at the Subversion snapshots tutorial page.

Checking out KDE 3 instead

If you want to track KDE 3 rather than the bleeding edge, you may retrieve the KDE 3.5 sources using:

svn co svn://anonsvn.kde.org/home/kde/branches/arts/1.5/arts
svn co svn://anonsvn.kde.org/home/kde/branches/KDE/3.5/

And if you want the matching qt-copy:

svn co svn://anonsvn.kde.org/home/kde/branches/qt/3.3/qt-copy

Checking out specific releases

KDE modules are also tagged at each release so that it is possible to get a specific release of KDE. Most KDE modules have a tag name in the format tags/KDE/X.Y.Z (where X, Y and Z represent the exact version). The arts module (only needed for KDE 2 and KDE 3) has a different format of tag name, tags/arts/X.Y.Z. For instance to get kdelibs as it was shipped in KDE 3.5.0, do:

svn co svn://anonsvn.kde.org/home/kde/tags/KDE/3.5.0/kdelibs/

If you then want to update this checkout to KDE 3.5.5, use this command:

svn switch svn://anonsvn.kde.org/home/kde/tags/KDE/3.5.5/kdelibs
Ktip.png
 
Tip
If you used a /branch/ or /trunk/ path, then there is no need to switch, just run svn update.


Checking out translations

If you are looking for translations and other localizations, check out the appropriate language from the appropriate module : l10n-kde4 (KDE4) or l10n-kde3 (KDE3).

noframe
 
Warning
The l10n module is extremely large. Be sure you have lots of time and disk space on hand before checking out the entire l10n module. Most people only check out specific language subdirectories rather than the entire l10n module.


You are now ready to start building KDE! Visit this page for instructions on building trunk or this page for instruction on compiling the last stable release.

Checkout from behind a proxy

If the tip above didnt help you, and you've realized that the only way to go seems to be with http://anonsvn.kde.org/.. , then you will have to jump through a few hoops to get an svn checkout. Since http:// access is open only to developers, so you will have to use svn://. Transconnect is a small piece of software that can tunnel all the traffic through your friendly neigbourhood proxy server. Get the transconnect sources from http://transconnect.sourceforge.net/ , compile it, and edit ~/.tconn/tconn.conf to point to your proxy server. Export the LD_PRELOAD variable as per the README from transconnect, and you're set to go.

Also of interest

  • anonsvn.kde.org is located in Tuebingen, Germany, maintained by Dirk Mueller However, a more local mirror could be faster for you than anonsvn.kde.org itself. Current mirrors are, sorted by performance:
    • kde.mneisen.org is located near Nuernberg, Germany, maintained by Martin Eisenhardt
    • www.englishbreakfastnetwork.org also hosts an anonymous SVN mirror, at the University of Nijmegen, Netherlands. Maintained by Adriaan de Groot
Be careful when switching between mirrors. SVN remembers the server in the working copy, so to switch you have to run
svn switch --relocate svn://anonsvn.kde.org/ svn://kde.mneisen.org/
in all your checkouts.

If you're interested in setting up a svn mirror, please contact Dirk Mueller.


KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal