As first reported on The Dot, KDE sources are now indexed through the LXR (Linux Cross Reference) system. This is different from webcvs, explained Kurt Granroth, one of KDE's project leaders, because with LXR, every object in each file is cross-referenced to every other object in the database.Webcvs allows users to see how a file has changed historically, but isn't capable enough to allow users to see where that file is located elsewhere in the KDE platform of applications.
With LXR, all the objects and the methods in the file are hyperlinks, says Granroth. Simply by clicking on one of those links, you'll get a list of where that file is defined, where it is declared, and where it is referenced, he added.
The LXR project is sloppily written in Perl, according to the project maintainers in a statement at the LXR Web site. The main goal of the project is to "create a versatile cross-referencing tool for relatively large code repositories." In addition to KDE, FreeBSD and Mozilla also have cross-referenced their sources using LXR's technology.
Code Catalog is another cross-referencing tool for source code which allows queries of specific API functions, searches for file names, and searches on any word that may appear in any of the indexed source code. The actual CVS project is indexed using the Code Catalog tools, along with about 140 other Open Source projects, including KOffice, MySQL, and xchat.