Sponsors

Microsoft


TechWell

We have 1829 guests and 3 members online

Home Product Reviews FishEye Lends a New Perspective to Version Control

FishEye Lends a New Perspective to Version Control

E-mail
Written by Bob Aiello   
Thursday, 10 March 2005 16:00

Making sense of a large-scale CVS repository can be challenging to say the least. Hundreds or even thousands of files going back years can hold important information about your development project and trying to get to that information can be a difficult and time-consuming task. For example, trying to find a specific version of a Java class file and understanding how the code has evolved can be similar to looking for a needle in a haystack. Sometimes the information is there, but accessing the history can be a data mining effort most developers just do not have time to do.


Cenqua, based in Australia, has taken on the challenge with impressive results and a remarkable product that, based upon customer feedback, should be used by every serious CVS user. FishEye is 100% pure java and designed to run in a server environment, although the product can also run on a Windows PC as well. The primary benefits of FishEye are source code discovery, analysis of meta-data and communication (through RSS feeds). For this article, I have solicited input from several current customers in addition to my own review of the product and have produced some impressive results.

Breaking Through the Limitations of CVS

FishEye takes CVS to a new level that every developer must consider, especially those working at companies that need to address compliance with Sarbanes-Oxley and other audit control requirements.

One of the greatest limitations of CVS is that commits are only atomic at the file level. That is, there is no way to determine which files were checked in together. FishEye breaks through this barrier by analyzing commits and then grouping the files that were checked in together into logical "changesets." This is high on the wish list of most serious CVS users.

In a discussion with Matt Quail, Product Architect for FishEye, I asked about Cenqua's choice to initially support only CVS. According to Quail, "We chose CVS as our initial target SCM because it is so widely used, but we fully intend to support other SCMs. In fact, we are close to releasing a beta of FishEye that additionally supports Subversion (SVN). After that we'll look to add support for popular commercial SCMs such as Perforce and ClearCase.”

Search Engine Technology for Your Source Code

Navigating a large CVS repository can be a daunting task. I have faced situations where versions of source code have literally disappeared from CVS (actually RCS libraries underneath) without a trace. FishEye helps by adding a much needed surveillance technology that provides up-to-date statistics and easy information discovery for your source code repository. FishEye incrementally scans repository content and processes this information using search engine technology. This enables users to easily search based on combinations of author, filenames, commit comments and actual file content with results returned instantly.

FishEye also provides a SQL-like query language (called “EyeQL”) which allows up to date queries of source code repositories. For example, to ascertain the revisions checked in by Bob after 1/1/2005 that contain the text "testing fisheye," users could enter the following: select revisions where author = bob and date > 2005-01-01 and content matches "testing fisheye.”

Click here for a larger Image
FishEye's EyeQL provides an intuitive and powerful way to search your repository.

Customer Comments

As I mentioned previously we solicited feedback from several of Cenqua’s customers with pretty impressive results. Their experiences says a great deal about this Australian based software vendor who has been around since 1999 as a consulting firm and in the last few years focused primarily on software tool development.

Peter Connolly, AVP Development Environments for CNET Networks, Inc. told us that, “FishEye is exceptionally easy to setup and run” and “the interface is clear and easy to use. I like the option of choosing between browse, changeset and the EyeQL search interfaces. I like the ability to create RSS feeds. This is a natural interface for us to use to feed our own internal build and release management processes.”

Sam Berlin, a Software Developer, at Lime Wire LLC., told us, “A great feature is the RSS feed of changesets. We have a system that sends out a email for each CVS commit, but it required us to set up a unique mailing list for each module, and the amount of CVS-spam was very annoying. The RSS feed does a great job, and I've since unsubscribed from our CVS mailing lists and rely solely on FishEye's RSS feed.” Sam went on to say, “Specific features that I like about FishEye include the easy administration and separation of CVS modules. Our main public development is in four modules "core", "gui", "lib", and "tests". However, we also have a bunch of other miscellaneous modules in the same CVS repository. FishEye allows us to separate the modules into different logical repositories -- "limecvs" (our main four modules), "misc" (the miscellaneous modules), and "private" (for internal use).”

Chris Morris Senior Developer at eInstruction.com" told me, “Researching the history of a given line or section of code is made easier with FishEye. I can start with the annotated view of the current rev, find the line I'm curious about, click the related rev link to go back to the rev where that line was last changed…” and “Changesets are a big deal. We've built our own code review tracking automation based on the changesets produced by FishEye.” Chris also told us, “The querying of the changesets is a nice feature. I don't use it too often, but if some stray commits build up on a branch or somesuch, it's nice to be able to group all of those together to see what's changed since. RSS feeds are a great way to have a team stay in touch with what's going on in the codebase.”

Conclusion

The customer base for CVS is certainly huge and, in many ways, CVS is the de-facto standard for source code management. FishEye takes this technology to an impressive new level with a remarkable approach to source code discovery and communication. It’s up to date search engine analysis of all available metadata and ability to automate RSS feeds makes FishEye a must for every serious CVS user. Our solicited feedback from their customer base indicates that this Australian based software vendor has done a great deal to establish good customer relations with an excellent product and strong customer service.

Cost

For a limited time, FishEye may be purchased for $999 per server which includes 12 months of upgrades and support, starting from the date of purchase

Company Contact

Cenqua Pty Ltd.
Suite 6, 108 Willoughby Rd
Crows Nest, NSW, 2065
Sydney, Australia
Tel: +61-2-9906-7079

sales@cenqua.com
www.cenqua.com



Bob Aiello is a Senior Editor for CM Crossroads and an Associate Director at a major financial services firm in NYC, where he has company wide responsibility for Software Configuration and Release Management best practices. Bob is on the Steering Committee of the NYC Software Process Improvement Network (CitySPIN), where he is also the chair of the CM SIG which meets in Midtown NYC. Mr. Aiello has a Masters in Industrial Psychology from NYU and a BS in Computer Science from Hofstra.

You can reach Mr. Aiello by email at
bob.aiello@cmcrossroads.com

Trackback(0)

Comments (0)add comment


Write comment

You must be logged in to post a comment. Please register if you do not have an account yet.

busy
Last Updated on Thursday, 12 January 2006 04:03