If you want a stable version of Xapian, we recommend using a released version. But if you're happy to cope with potential breakage and want to try the latest development code, or do development yourself, you can access our git repository.
The repository includes a complete history of the code, including that from the original Open Muscat project's CVS repository, and from the subsequent SVN repository. It should be complete, except that we dropped CVS tags for the old nightly snapshots (and a few others which it seems highly unlikely anyone would find useful) - if you really need these for some reason, contact us for a copy of the archived CVS tree.
You can check out code from the master git repo at git.xapian.org like so:
Note: Prior to late September 2016, git.xapian.org supported the git protocol instead of https - when we added https support, we decided to remove git as it seems to have no advantages and some disadvantages compared to https. If you have an existing clone of the repo, you can update the remote URL like so (assuming your remote uses the default name "origin" - if not, specify the appropriate remote name instead):
git remote set-url origin https://git.xapian.org/xapian
All branches should be available via git (you can list them with
git branch -r). Note that SVN tags appears as branches in git.
If you just want to look at the history of a few files, you may find it easier and quicker to browse the repository online:
The subversion repository is no longer available online, but if you have a revision id you can easily locate it in git - say you want to find SVN revision 12345, then in your local clone of the git repo you can run:
git log --grep '^git-svn-id: .*@12345 ' `git branch --list -r 'origin/svn/*'`
This searches the log messages of the history of all git branches which were imported from SVN for a commit with the requested SVN revision id in the mapping line added by git-svn.
You can download automated snapshots, which are generated from git once a day, provided make distcheck passes on Linux. This means that some breakages are avoided, but they may still fail to build for you if you're using a different platform, or even a different version of Linux.
If you want to get a better idea of how healthy the tree is on various platforms, see the automated builds page on the wiki.