Difference between revisions of "Code Indexer"

From CDOT Wiki
Jump to: navigation, search
(Status)
(Candidates)
Line 21: Line 21:
  
 
====Candidates====
 
====Candidates====
 +
======Serious Candidates======
 
* [http://lxr.mozilla.org/ LXR]/[http://landfill.mozilla.org/mxr-test/ MXR]/[http://www.mozilla.org/bonsai.html Bonsai] - Not working on setting one up because there is already one
 
* [http://lxr.mozilla.org/ LXR]/[http://landfill.mozilla.org/mxr-test/ MXR]/[http://www.mozilla.org/bonsai.html Bonsai] - Not working on setting one up because there is already one
* [http://gonzui.sourceforge.net Gonzui] - Impressive looking thing.  This will be my first target to setup due to its simplicity and apparently very powerful nature
 
 
* [[OpenGrok]] - As this is becoming my main focus, I am breaking it out into its own page.
 
* [[OpenGrok]] - As this is becoming my main focus, I am breaking it out into its own page.
 
* [http://www.cenqua.com/fisheye/index.html Fisheye] - Commercial Solution that is free (as in beer) for open source projects.
 
* [http://www.cenqua.com/fisheye/index.html Fisheye] - Commercial Solution that is free (as in beer) for open source projects.
* Hosted by Tigris - I forgot the name, but its hosted by "Tigris" and it looked pretty good.  If you know the name, please edit as appropriate
+
======Others======
 
* [http://savannah.nongnu.org/projects/horus Horus] - Not really what is needed, but its a nice interface for programming students own code.  I will not be actively doing anything to it.
 
* [http://savannah.nongnu.org/projects/horus Horus] - Not really what is needed, but its a nice interface for programming students own code.  I will not be actively doing anything to it.
* [http://bazaar-vcs.org Bazaar] - I dont really know what this is, it might be what is needed, but it might be something irrelevant.
 
 
* [http://sourceforge.net/projects/sourcenav/ Sourcenav] - investigating this project
 
* [http://sourceforge.net/projects/sourcenav/ Sourcenav] - investigating this project
 +
* [http://gonzui.sourceforge.net Gonzui] - Fairly basic on second examination
 
* [http://google.com/codesearch Google Code Search] - No way to specify the Mozilla project only
 
* [http://google.com/codesearch Google Code Search] - No way to specify the Mozilla project only
  

Revision as of 19:50, 7 November 2006

IRC Talk about CVSUP

Ok, what i would be interested to know is if i could get fully versioned histories of specific branches, not a versioned copy of the whole code base, due to technical limitations. If this versioning information has a bug number and a reviewer, i can easily implement Blame and version histories into the OpenGrok, making it ideal (imo). Please add your comments as if this were the talk page


Project Name

Source Code Indexing Service Analysis

Project Description

Mozilla’s source code is enormous—millions of lines of C, C++, JavaScript, Perl, Python, Java, C#, etc. Developers currently use the lxr system to quickly search and browse it on-line: http://lxr.mozilla.org. Mozilla is planning a move from CVS to Subversion for revision control, and at the same time wants to evaluate other source indexing services. Two BSD students are working to setup, document, and test other potential services (e.g., fisheye, opengrok, mxr) on one of the Seneca-Mozilla servers (see below). In each case this requires configuration changes and some scripting to get the services to properly integrate with Mozilla’s other on-line tools. When the test services are installed and synched with the live source tree, Mozilla will point its developers to them and get feedback—the students will help collect and synthesize this feedback.

Project Leader(s)

John Ford (John64)

Project Contributor(s)

Project News and Details

Status

  • Waiting to see about a license for fisheye
  • OpenGrok has rudimentary (ie a kludge) support for branching.

Candidates

Serious Candidates
  • LXR/MXR/Bonsai - Not working on setting one up because there is already one
  • OpenGrok - As this is becoming my main focus, I am breaking it out into its own page.
  • Fisheye - Commercial Solution that is free (as in beer) for open source projects.
Others
  • Horus - Not really what is needed, but its a nice interface for programming students own code. I will not be actively doing anything to it.
  • Sourcenav - investigating this project
  • Gonzui - Fairly basic on second examination
  • Google Code Search - No way to specify the Mozilla project only

Links

Notes on Accessing Test Server

If you want to access the test server through anything other than port 80, you are going to have to type in the following address into a browser and note the IP address you get in your address bar. This is because I have dynamic DNS. Everything, including the source itself, will be in the http root for easy access to the files. This is not optimal, and will not stay this way once things advance.

Superfind - Will resolve as www.no-ip.com computer, which is why you have to use a browser to get the IP

Questions

Please edit in an answer if you know

Pulling CVS

This code will pull the CVS for the branches specified in @branches

#!/usr/bin/perl
use strict;
use warnings;

# Pull CVS from the mozilla project server
my $src_root = "/var/mozilla";

# Where is your make executable (Mozilla needs 3.80, nothing else)
my $make = "/home/jhford/oldmake/make";

# Where is your run.sh for opengrok???
my $opengroker = "/var/opengrok/run.sh";

# Branches to be pulled
my @branches = (
  "HEAD", 
  "REFLOW_20061031_BRANCH", 
  "MOZILLA_1_8_0_BRANCH", 
  "MOZILLA_1_8_BRANCH", 
  "MOZILLA_1_7_BRANCH", 
  "AVIARY_1_0_1_20050124_BRANCH"
);

system ("rm -rf ${src_root}/*");

foreach (@branches){
  system("
    mkdir ${src_root}/$_;
    cd ${src_root}/$_;
    cvs -d :pserver:anonymous:anonymous\x40cvs-mirror.mozilla.org:/cvsroot co -r $_ mozilla/client.mk;
    make -f ${src_root}/${_}/mozilla/client.mk checkout MOZ_CO_PROJECT=all;
  ");
}

system ("bash $opengroker");