The KDE source code is now available under the LXR system, courtesy of our friends at nadmm.com.
Users and developers may now browse the KDE source code complete with cross-references, which should prove extremely useful. For those of you wondering about the difference between lxr.kde.org and webcvs.kde.org, read on for an explanation from Kurt.
Kurt Granroth writes:
There is actually a huge difference between a webcvs and an lxr site.
Using WebCVS, you can view the contents of a file at any revision and compare
differences between revisions.
Using LXR, you view only the current revision, but, every object in the file
is cross-referenced to every other object in the LXR database.
Let's take the KConfig class for example. I can go to the kconfig.h file in
WebCVS and view the current revision... or I can view past revisions... or I
can compare various revisions. To see how it has changed historically, this
is very handy. But say I want to know where KConfig is used elsewhere in KDE.
This is impossible to do automatically in WebCVS.
If I go to the KConfig class in LXR, though, I see that all objects and
methods in the file are hyperlinks. If I click on KConfig, I get a list of
where it is defined, where it is declared as a forward declaration, and where
it is referenced (in 939 files!). I can click on any of those links to go
directly to where it is used.
Or say I want to see where KSocket is defined and used in KDE. I go to the
identifier search and enter KSocket. I get a page listing everything I need to know.
Really, the importance of cross-referenced links to any large project can't
be emphasized enough. The only reason we haven't had something like this
before is because they are such a PITA to set up. :-/