Difference between revisions of "Getting Started/Sources/Anonymous SVN"

Jump to: navigation, search
(this page should go eventually... start consolidating)
Line 82: Line 82:
{{tip|If you used a '''/branch/''' or '''/trunk/''' path, then there is no need to switch, just run '''svn update'''.}}
{{tip|If you used a '''/branch/''' or '''/trunk/''' path, then there is no need to switch, just run '''svn update'''.}}
{{tip|[http://websvn.kde.org/tags/ WebSVN] is a convenient way to check for a tag name.}}
=== Checking out translations ===
=== Checking out translations ===

Revision as of 09:38, 8 March 2008


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


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.

Please note that several Linux distributions now already provide KDE SVN packages, so building Qt and KDE from source may well not be necessary for you at all! See Getting_Started/Distribution_Packages for instructions and information.

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
If your firewall doesn't allow access to arbitrary ports, substitute svn://anonsvn.kde.org/ with svn://websvn.kde.org:443/ above.

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
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:


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
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 l10n module.

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.

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
    • svn://azkaban.caltech.edu is located near Los Angeles, USA and is maintained by Eugeniu Plamadeala. It has the same folder hierarchy as anonsvn.kde.org.
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