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

Jump to: navigation, search
(Also of interest)
(add lang nav bar)
Line 1: Line 1:
{{Template:I18n/Language Navigation Bar|Getting Started/Sources/Anonymous SVN}}

Revision as of 15:58, 14 August 2007


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. No more trying to log on to ftp.kde.org to get the latest snapshot. No more wandering aimlessly through mirrors looking for one that's up to date. Just a simple command line operation to get up-to-the-minute source updates: 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

Using anonymous SVN is simple:

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

/home/kde/trunk/ (often refered to as trunk, for short) 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
Only use "svn co" or "svn checkout" for the initial checkout, you will update your local sources afterwards by using "svn up modulename" or "svn update modulename".

If your firewall doesn't allow access to arbitrary ports, you want to substitute svn://anonsvn.kde.org/ with svn://websvn.kde.org:443/ above.

Currently, Monday is the day when major changes are allowed to the kdelibs module in trunk. Due to this, you may want to avoid updating your sources on Monday unless you are working on kdelibs as there may be temporary breakages throughout the day.

qt-copy is a copy of the latest stable Qt release which works with KDE, put into SVN for convenience. It also contains additional patches that fix bugs or add enhancements KDE makes use of and is therefore recommended for those working with KDE from trunk. You can obtain qt-copy by doing:

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

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  

Be aware this is a lot of source code to download. The server may demote priority for such large svn requests. Depending on server load, checkout of the entire source tree could grind to a virtual halt part-way through the job.

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.

WebSVN is a convenient way to check for a tag name.

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
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.
  • For a script that updates via SVN and compiles KDE automatically, see kdesvn-build.

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