
"A wicked fast source browser"
OpenGrok is a fast and usable source code search and cross reference engine. It helps you search, cross-reference and navigate your source tree. It can understand various program file formats and version control histories like Mercurial, Git, SCCS, RCS, CVS, Subversion, Teamware, ClearCase, Perforce and Bazaar. In other words it lets you grok (profoundly understand) the open source, hence the name OpenGrok. It is written in Java.
OpenGrok is the tool used for the OpenSolaris source browser and search.
Downloads
- opengrok-0.7.tar.gz (5.6M) - Binaries only
- opengrok-0.7-src.tar.gz (1.8M) - Source only
- OSOLopengrok-0.7.pkg (6.8M) - Solaris Package
Requirements
- Latest Java (At least 1.5)
- A servlet container like GlassFish or Tomcat (5.x or later)
- Exuberant Ctags
- Subversion 1.3.0 (or newer) if subversion support is needed
- Mercurial 1.0.2 (or newer) if Mercurial support is needed
![]() |
Screenshots
Features
OpenGrok provides
- A fast search engine for programs, that can:
- search for full text, definitions, symbols, path and revision history
- limit searches to any subtree (hierarchical search)
- incrementally update its index. i.e update only the changed files since last time it was updated
- search query with Google like syntax (eg. path:Makefile defs:target)
- search for files modified within a date range
- search using wild cards like * (many characters) or ? (one character)
- show the matching lines in search results
- A read-only web interface for version control systems like Mercurial, CVS, SVN, SCCS or TeamWare that provides:
- history log of a file
- diffs between any two revision in formats like udiffs, sdiffs
- cumulative history of a given directory (putback-log) also in RSS format
- Online cross-reference with syntax high lighting, highly customizable look and feel using CSS stylesheets
- Plugins can be written for new programing language or revision control systems
More information on setting up OpenGrok, its usage and known issues can be found on Documentation page.
You can install the Solaris package by running pkgadd -d http://www.opensolaris.org/os/project/opengrok/files/OSOLopengrok-0.7.pkg
Comparison with Similar Tools
| Feature | LXR | ctags | cscope | ViewVC | OpenGrok |
|---|---|---|---|---|---|
| Full text Search | Y | Y | Y | ||
| Definition Search | # | Y | Y | Y | |
| Identifier Search | Y | Y | Y | ||
| Path search | Y | Y | Y | ||
| History Search | Y | ||||
| Caller/Callee Search | Y | ||||
| RegExp Search | Y | # (only wildcards) | |||
| Shows matching lines | Y | Y | Y | ||
| Hierarchical Search | Y | ||||
| query syntax like AND, OR, field: | Y | ||||
| Incremental update | # | Y | |||
| RSS Feed | Y | Y | |||
| Syntax highlighting-Xref | Y | # | Y | ||
| Interface for SCM | Y | Y | |||
| open source | Y | Y | Y | Y | |
| Usable URLs | Y | - | - | Y | |
| Individual file download | - | - | Y | Y | |
| Changes at directory level | - | - | # | Y | |
| Multi language support | # | Y | # | - | Y |
| User interface | WEB | CLI | CLI | WEB | WEB / CLI |
Legend:
Y : Yes the feature is present
# : the feature may be partly present
- : not applicable
Send your ideas for improvement or contributions to OpenGrok-discuss Forum. Bugs or feature requests should be reported at http://defect.opensolaris.org.
License
OpenGrok is an open source project and is distributed under CDDL.
OpenGrok uses software libraries from Apache Software Foundation.
This product includes software developed by CollabNet (http://www.Collab.Net/).


