Welcome to the Subversion Repository Search Engine (SupoSE)

Overview

This is a Java based approach to do real searching within a complete Subversion repository. Based on performance issues and so on, I have decided not to do a real time scanning within the Repository. I have decided to do a scanning of the whole content of a Subversion repository. The result, called index can be used to do real searching. An other purpose of this approach is to be able to search through multiple repositories instead of one.

With the exception of binary files where no particular document handler exists, all files will be indexed. This means we do index Word, Excel and Powerpoint files (2007 Office variants as well).

This means we do not index only the trunk or the HEAD revision, we index all revisions on all paths within a whole Repository. Filename, path, log message, properties etc. are made searchable (see Fields for further details).

If you think for what you can search take a look at
the questions you never tried to ask your repository

Features / Usage

You can find a detailed description of the features etc. in the users guide.

Plan

Planned Features / Implemented features:
  • Scan a whole repository
    • Searchable contents over all revisions not only on trunk etc.
    • Searchable document types:
      • Source code (of course) (things like Java, C, C++, PHP, Perl, Python code etc.)
        • May be we can do some statistics during the scan (e.g. LOC).
        • It might be useful to do special scanning of source code files to extract
          information like method names, class names etc.
      • XML
      • Microsoft Office files (Word, Excel, Power Point, may be Access databases)
      • OpenOffice files
  • Support of multiple Repositories
  • Cron like automation to scan repositories.
  • Configuration
  • Configuration svn+ssh and https connections
  • Create a Web based front end for querying the engine.
    • The results should make links (revision, document, path) to the real repository
    • Considering the permissions of a repository during search requests
  • May be we would do, I'm not sure if this really needed. Suggestions are appreciated.
    • Extract the information from (jar, zip, tar.gz files)

An overview about the release plan and the currently existing can be found here.

Source Code

The requirements describe what is needed to build SupoSE from source code.

If you like to checkout the current state of development you can simply check the Subversion Repository

License

The source code and the application which i have written is licensed under the The GNU General Public License Version 2. Other parts of the application in particular the 3rd party libraries have different licenses.

Download

In the Download Area you find all current releases of the project.

Archive

In the archive you can find older releases if you like to take a look into.

Builds

Currently a nightly build can give you an up-to-date release before real delivery date.
Information about the changes which had been made can be seen at the bulletin board.

An overview about the releases can be found in the Release Notes.

Release Management

The release management is described on the ReleaseManagement page in detail.

Authentication

If you have any problems during a scan with the authentication you can use the following java settings:
-Dsvnkit.http.methods=Basic,Digest,NTLM
A detailed explanation can be found here.

Searching / Scanning

The searching and scanning of repositories is currently done by a command line interface (at the moment). The description
of the Command Line describe what you can do and which options are available. You can of course use
Luke too. Or take a look at the command line examples. For a detailed
description of the queries and features take a look at the users guide.

Requirements / Questions / Bugs

If you like to post feature requests, questions, suggestions, bugs or anything about SupoSE please use the ticket system to check if the bug might have been reported already or you if you like to report a new one just use the new issue area
or just write an email to me.

It would be nice if you give an email address so i can get in contact with to ask question etc.

Also available in: HTML TXT