lxr-general Mailing List for LXR Cross Referencer (Page 6)
Brought to you by:
ajlittoz
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(3) |
Jul
|
Aug
(1) |
Sep
(6) |
Oct
|
Nov
(13) |
Dec
(4) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(8) |
Feb
(4) |
Mar
(6) |
Apr
(5) |
May
(5) |
Jun
(4) |
Jul
(8) |
Aug
(3) |
Sep
(6) |
Oct
(7) |
Nov
(7) |
Dec
(10) |
2003 |
Jan
(9) |
Feb
(4) |
Mar
(8) |
Apr
(12) |
May
(13) |
Jun
(9) |
Jul
(13) |
Aug
(10) |
Sep
(3) |
Oct
(3) |
Nov
(19) |
Dec
(14) |
2004 |
Jan
(11) |
Feb
(10) |
Mar
(7) |
Apr
(5) |
May
(4) |
Jun
(4) |
Jul
(2) |
Aug
|
Sep
(3) |
Oct
(2) |
Nov
(6) |
Dec
(6) |
2005 |
Jan
(11) |
Feb
(1) |
Mar
(6) |
Apr
(4) |
May
(7) |
Jun
(13) |
Jul
(9) |
Aug
(32) |
Sep
(27) |
Oct
(31) |
Nov
(17) |
Dec
(24) |
2006 |
Jan
(19) |
Feb
(25) |
Mar
(30) |
Apr
(28) |
May
(35) |
Jun
(38) |
Jul
(21) |
Aug
(31) |
Sep
(38) |
Oct
(68) |
Nov
(84) |
Dec
(83) |
2007 |
Jan
(45) |
Feb
(78) |
Mar
(72) |
Apr
(67) |
May
(51) |
Jun
(49) |
Jul
(125) |
Aug
(113) |
Sep
(74) |
Oct
(59) |
Nov
(63) |
Dec
(55) |
2008 |
Jan
(58) |
Feb
(53) |
Mar
(56) |
Apr
(224) |
May
(282) |
Jun
(269) |
Jul
(354) |
Aug
(552) |
Sep
(277) |
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(6) |
Nov
(8) |
Dec
|
2010 |
Jan
(3) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
(3) |
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
(6) |
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Jan-Benedict G. <jb...@lu...> - 2006-03-26 12:20:18
|
Hi! After the GIT hacking weekend, there's also a documentation update. MfG, JBG 2006-03-26 Maximilian Wilhelm <ma...@rf...> Jan-Benedict Glaw <jb...@lu...> * INSTALL (Installation requirements): Add git-core to the requirement list in case GIT is to be used. (Database installation): Don't try to create the database as user "lxr", but owned by "lxr". This allows for a more restrictive database installation. There's no need to give any extra rights to LXR. (LXR installation directory): Alternatively describe to not hose your host's Perl installation but to configure Apache to additionally search in the LXR directory for the LXR Perl modules. (Edit LXR config file): At least mention the filename of the config file once. --- a/INSTALL 2 Nov 2005 23:39:55 -0000 1.21 +++ b/INSTALL 26 Mar 2006 10:39:14 -0000 @@ -30,6 +30,9 @@ The current version of the lxr depends o BitKeeper (bk) installed Digest::SHA module (available from CPAN) =20 +9) If you are using the GIT support, you'll need: + git-core + Installing the database ----------------------- You will need to create a database for lxr, and possibly create a user @@ -44,7 +47,7 @@ For Postgresql: Create a user for lxr and give the user permission to create databases: createuser lxr Create a database for lxr: - createdb -U lxr lxr + createdb -O lxr lxr Initialise the database: psql -U lxr lxr \i initdb-postgres @@ -72,20 +75,43 @@ choice. A good choice could be /usr/loca cd /usr/local/ tar -zxf /path/to/lxr/lxr-x.x.tgz (as root or with appropriate permission= s) =20 -Now you have to put the perl modules that LXR uses into a directory on -your system that will be searched by mod_perl when the LXR scripts are -executed. Execute: +Now you have to make the LXR Perl modules available to your webserver's LXR +instance. Either copy those modules into your local site_perl directory to +make them globally accessible =20 cp /usr/local/lxr/Local.pm /usr/lib/perl5/site_perl/ cp -r /usr/local/lxr/lib/LXR /usr/lib/perl5/site_perl =20 -Now you should copy the template files for LXR to your installation +or configure your webserver to additionally search for these modules in yo= ur +LXR distribution directory. For Apache 1, this is done by first putting a +PerlRequire into the mod_perl configuration: + + <IfModule mod_perl.c> + <IfModule mod_alias.c> + Alias /perl/ /var/www/perl/ + </IfModule> + <Location /perl> + SetHandler perl-script + PerlHandler Apache::Registry + PerlRequire "/etc/apache/perl_require.pl" + Options +ExecCGI + </Location> + </IfModule> + +and extinding @INC inside this new perl_require.pl script: + + #!/usr/bin/env perl -w + @INC=3D(@INC, "/usr/local/lxr", "/usr/local/lxr/lib"); + 1; + +You should finally copy the template files for LXR to your installation =20 mv /usr/local/lxr/templates/* /usr/local/lxr/ =20 + Edit the lxr config file ------------------------ -Go through the config file and fill in the relevant values. +Go through the config file (lxr.conf) and fill in the relevant values. If you have glimpse installed, you should set =20 'glimpsebin' =3D> '/path/to/your/glimpse/executable' --=20 Jan-Benedict Glaw jb...@lu... . +49-172-7608481 = _ O _ "Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg = _ _ O f=C3=BCr einen Freien Staat voll Freier B=C3=BCrger" | im Internet! | i= m Irak! O O O ret =3D do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA)= ); |
From: Jan-Benedict G. <jb...@lu...> - 2006-03-26 12:19:18
|
Hi! This code is not yet ready for use. It contains known bugs and other hidden goodies. However we'd like to get feedback on it, since we're both no Perl experts. Of most interest: * Given that a called program outputs a single line containing only a single word ("tag" or "7638" or "commit", without the quotes, but containing the needed \n for proper display), what is the easiest way to get this into a variable and check if the program exited cleanly (exit(0)) or found a problem (exit !=3D 0)? * Given that a program outputs numerous lines of which the first lines have a strict syntax (and the following are free-form text), what's the easiest way to get one of the lines with known formating? Example: -------------------------------------------------------------------- $ git-cat-file commit 79f558a5fc1c471e5db926a1272fe930f24784bb tree 6dd43a8262e61bf2cea75529454f5bc86e57686d parent bdaa085f8c33e75cf477ff6b4292f35c9c5f4c22 parent cb9594e28c940d2bbf4d7fb69c337d27155da37a author Junio C Hamano <ju...@co...> 1143186547 -0800 committer Junio C Hamano <ju...@co...> 1143186547 -0800 Merge branch 'jc/cvsimport' * jc/cvsimport: cvsimport: fix reading from rev-parse cvsimport: honor -i and non -i upon subsequent imports -------------------------------------------------------------------- "tree" is the new tree which is the result of this commit. There's exactly one tree, except in cases where the following free-form text also contains 'tree'. "parents" is/are the previous commit(s). There's one parent for a simple commit and probably multiple in cases of merges. (For LXR, parents are basically uninteresting.) "author" is the author. "committer" is the person who introduced the patch/merge into the SCM. So I'd like to ask for a "translation" of this shell excerpt to Perl: if ! OUTPUT=3D"`git-cat-file commit 79f558a5fc1c471e5db926a1272fe930f24784= bb`"; then echo "something unexpected happend" >&2 exit 1 fi AUTHOR_LINE=3D"`echo "${OUTPUT}" | grep '^author ' | head -1`" AUTHOR_EMAIL=3D"`echo "${AUTHOR_LINE}" | cut -f 2 -d '<' | cut -f 1 -d '>'= `" It seems to be quite easy getting AUTHOR_EMAIL (from the example above), but getting the first '^author ' line seems to be a bit more interesting. As mentioned, we're no Perl experts... MfG, JBG 2006-03-26 Maximilian Wilhelm <ma...@rf...> Jan-Benedict Glaw <jb...@lu...> * lib/LXR/Files.pm (LXR::Files->new()): Regognize "git:/" repositories. * templates/lxr.conf (sourceroot): Document how to configure a GIR repository holding the revision history. (ignoredirs): Add ".git" to the list of ignored directories. Also update the documentation a bit. * lib/LXR/Files/GIT.pm: New file containing a _preliminary_ and _known_buggy_ GIT backend for LXR. --- a/lib/LXR/Files.pm 2 Nov 2005 23:39:55 -0000 1.9 +++ b/lib/LXR/Files.pm 26 Mar 2006 11:01:08 -0000 @@ -36,6 +36,11 @@ sub new { $srcroot =3D $1; $files =3D new LXR::Files::BK($srcroot, $params); } + elsif ( $srcroot =3D~ /^git:(.*)/i ) { + require LXR::Files::GIT; + $srcroot =3D $1; + $files =3D new LXR::Files::GIT($srcroot, $params); + } else { require LXR::Files::Plain; $files =3D new LXR::Files::Plain($srcroot); --- /dev/null 2006-03-14 17:36:51.000000000 +0100 +++ b/lib/LXR/Files/GIT.pm 2006-03-25 23:23:46.000000000 +0100 @@ -0,0 +1,421 @@ +# -*- tab-width: 4 -*- ############################################### +# +# $Id$ + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +package LXR::Files::GIT; + +$CVSID =3D '$Id$'; + +use strict; +use FileHandle; +use LXR::Common; +use LXR::Author; + +# +# We're adding ".git" to the path since we're only dealing with +# low-level stuff and _never_ ever deal with checked-out files. +# +sub new { + my ($self, $rootpath, $params) =3D @_; + + $self =3D bless({}, $self); + $self->{'rootpath'} =3D $rootpath; + + $ENV{'GIT_DIR'} =3D $self->{'rootpath'}; + return $self; +} + +sub filerev { + my ($self, $filename, $release) =3D @_; + + $filename =3D $self->sanitizePath ($filename); + $release =3D $self->get_treehash_for_branchhead_or_tag ($release); + + my $pid =3D open(my $F, '-|'); + die $! unless defined $pid; + if (!$pid) { + exec ("git-ls-tree", $release, $filename) + or die "filerev: Cannot exec git-ls-tree";=20 + } + + my $git_line=3D<$F>; + chomp $git_line; + close($F); + + if ($git_line =3D~ m/(\d+)\s(\w+)\s([[:xdigit:]]+)\t(.*)/ ) { + return $3; + =09 + } else { + die "filerev( $filename, $release ): No entry found.\n"; + } +} + +sub getfiletime { + my ($self, $filename, $release) =3D @_; + $filename =3D $self->sanitizePath ($filename); + + if ($filename =3D~ m/\/\.\.$/ ) + return undef; +# if ($filename =3D~ /\/\.\.\$/) +# return undef; + + my $pid1 =3D open(my $R, '-|' ); + die $! unless defined $pid1; + if(!$pid1) { + exec("git-rev-list", "--max-count=3D1", "$release", "--", $filename ) or= die "getfiletime ($filename, $release): Cannot exec git-rev-list\n"; + } + my $commit =3D <$R>; + chomp $commit; + close($R); +=09 + my $pid =3D open(my $F, '-|'); + die $! unless defined $pid; + if(!$pid) { + exec("git-cat-file", "commit", $commit) or die "getfiletime ($filename, = $release): Cannot exec git-cat-file\n"; + } + + while(<$F>) { + chomp; + if ( m/^author .*<.*> (\d+)\s.*$/ ) { + close($F); + return $1; + } + } +=09 + close($F); + + die "getfiletime ($filename, $release) : Did not find GIT entry.\n"; +} + +sub getfilesize { + my ($self, $filename, $release) =3D @_; + + $filename =3D $self->sanitizePath ($filename); + my $object_hash =3D $self->filerev ($filename, $release); + + print STDERR "getfilesize ($filename, $release)\n"; + + # return `git-cat-file -s $blobhash`; + my $pid =3D open (my $F, '-|'); + die $! unless defined $pid; + if(!$pid) {=09 + exec ("git-cat-file", "-s", $object_hash) or die "getfilesize ($filename= , $release): Cannot exec git-cat-file\n"; + } + + my $size =3D <$F>; + close ($F); + chomp $size; + if ( $size ) { + return $size; + } else { + return undef; + } + + close ($F); + return undef; +} + +sub getfile { + my ($self, $filename, $release) =3D @_; + my ($buffer); + +# my $blobhash =3D open( "git-ls-tree $release $filename | cut -f 3 -d ' '= | cut -f 1 -d \$'\t' |") or die "Cannot open git-ls-tree $release $filenam= e in getfile\n"; + my $blobhash =3D $self->filerev( $filename, $release ); +# local ($/) =3D undef; + + open(FILE, "git-cat-file blob $blobhash|") || return undef; + $buffer =3D <FILE>; + close(FILE); + return $buffer; +} + +sub getfilehandle { + my ($self, $filename, $release) =3D @_; + my ($fileh); + $filename =3D $self->sanitizePath ($filename); + + my $treeid =3D $self->get_treehash_for_branchhead_or_tag ($release); + + $filename =3D $self->sanitizePath ($filename); + my $objectid =3D $self->getBlobOrTreeOfPathAndTree ($filename, $treeid); + + $fileh =3D new IO::File; + $fileh->open ("git-cat-file blob $objectid |") or die "Cannot execute git= -cat-file blob $objectid"; + + return $fileh; +} + +sub tmpfile { + my ($self, $filename, $release) =3D @_; + my ($tmp, $fileh); + local ($/) =3D undef; + + $tmp =3D $config->tmpdir . '/lxrtmp.' . time . '.' . $$ . '.' . &LXR::Com= mon::tmpcounter; + open(TMP, "> $tmp") || return undef; + $fileh =3D $self->getfilehandle( $filename, $release ); + print(TMP <$fileh>); + close($fileh); + close(TMP); + + return $tmp; +} + +sub getannotations { + + return (); + my ($self, $pathname, $release) =3D @_; + my @authors =3D (); + + if ( $pathname =3D~ m#^/(.*)$# ) { + $pathname =3D $1; + } +=09 + open( BLAME, "git-blame -l $pathname $release |"); + while( <BLAME> ) { + if ( m/(^[[:xdigit:]]+)\s.*$/ ) { + my $linehash =3D $1; + my $authorline =3D `git-cat-file commit $linehash`; + if ($authorline =3D~ m/^author ([^<]+)<(([^@])\@[^>]+)>.*$/ ) { + my ($authorname, $authoruser, $authoremail) =3D ($1, $2, $3); + push(@authors, LXR::Author->new(chomp $authorname, + $authoruser, $authoremail)); + } else { + push(@authors, LXR::Author->new("", "", "")); + } + } else {=09 + print STDERR "getannotations: JB HAT DOOFE OHREN: $_\n"; + } + } + close(BLAME); + + print STDERR "authors: " . join(" ", @authors) . "\n"; +=09 + return @authors; +} + +sub getauthor { + + return (); + + my ($self, $filename, $release) =3D @_; + $filename =3D $self->sanitizePath ($filename); + print STDERR "getauthr( $filename, $release )\n"; + my $commit =3D `git-rev-list --max-count=3D1 $release -- $filename | tr -= d \$'\n'`; + my $authorline =3D `git-cat-file commit $commit | grep '^author' | head -= n1 | tr -d \$'\n'`; + + if ($authorline =3D~ m/^author ([^<]+)<(([^@])\@[^>]+)>.*$/ ) { + my ($authorname, $authoruser, $authoremail) =3D ($1, $2, $3); + return LXR::Author->new(chomp $authorname, $authoruser, $authoremail); + } else { + return LXR::Author->new("", "", ""); + } +} + +sub getdir { + my ($self, $pathname, $release) =3D @_; + my ($dir, $node, @dirs, @files); +=09 + my $treeid =3D $self->get_treehash_for_branchhead_or_tag ($release); +=09 + $pathname =3D $self->sanitizePath( $pathname ); + if ( $pathname !~ m#..*/# ) { + $pathname =3D $pathname . '/'; + } + + open(DIRLIST, "git-ls-tree $treeid $pathname |") or die "Cannot open git-= ls-tree $treeid $pathname"; + while( <DIRLIST> ) { + if ( m/(\d+)\s(\w+)\s([[:xdigit:]]+)\t(.*)/ ) { + my ($entrymode, $entrytype, $objectid, $entryname) =3D ($1,$2,$3,$4); + + # Weed out things to ignore + foreach my $ignoredir ($config->{ignoredirs}) { + next if $entryname eq $ignoredir; + } + + next if $entryname =3D~ /^\.$/; + next if $entryname =3D~ /^\.\.$/; + + if ($entrytype eq "blob") { + push(@files, $entryname); + =09 + } elsif ($entrytype eq "tree") { + push(@dirs, "$entryname/"); + #push(@dirs, "$entryname"); + } + } + } + close(DIRLIST); +=09 + return sort(@dirs), sort(@files); +} + +# This function should not be used outside this module +# except for printing error messages +# (I'm not sure even that is legitimate use, considering +# other possible File classes.) + +##sub toreal { +## my ($self, $pathname, $release) =3D @_; +## +## nearly all (if not all) method calls eventually call toreal(), so this = is a good place to block file access +## foreach my $ignoredir ($config->ignoredirs) { +## return undef if $pathname =3D~ m|/$ignoredir/|; +## } +## +## return ($self->{'rootpath'} . $release . $pathname); +##} + +sub isdir { + my ($self, $pathname, $release) =3D @_; + + $pathname =3D $self->sanitizePath ($pathname); + $release =3D $self->get_newest_commit_from_branchhead_or_tag ($release); + + print STDERR "isdir ($pathname, $release)\n"; + + my $treeid =3D $self->get_treehash_for_branchhead_or_tag ($release); + + return $self->getObjectType ($pathname, $treeid) eq "tree"; +} + +sub isfile { + my ($self, $pathname, $release) =3D @_; + + $pathname =3D $self->sanitizePath ($pathname); + $release =3D $self->get_newest_commit_from_branchhead_or_tag ($release); +=09 + print STDERR "isfile($pathname, $release)\n"; + + my $treeid =3D $self->get_treehash_for_branchhead_or_tag ($release); +=09 + return $self->getObjectType ($pathname, $treeid) eq "blob"; +} + +# +# For a given commit (that is, the latest commit on a named branch or +# a tag's name) return the tree object's hash corresponding to it. +# +sub get_treehash_for_branchhead_or_tag () { + my ($self, $release) =3D @_; + $release =3D $self->get_newest_commit_from_branchhead_or_tag ($release); + + return `git-cat-file commit $release | grep '^tree' | head -n1 | cut -f 2= -d ' ' | tr -d \$'\n'`; +} + +sub getObjectType() { + my ($self, $pathname, $treeid) =3D @_; + + open (DIRLIST, "git-ls-tree $treeid $pathname |") or die "Cannot open git= -ls-tree $treeid $pathname"; + while (<DIRLIST>) { + if (m/(\d+)\s(\w+)\s([[:xdigit:]]+)\t(.*)/) { + my ($entrymode, $entrytype, $objectid, $entryname) =3D ($1, $2, $3, $4); + + # Weed out things to ignore +# # This should only be needed in the getdir function. +# foreach my $ignoredir ($config->{ignoredirs}) { +# next if $entryname eq $ignoredir; +# } + + $entryname =3D $self->sanitizePath ($entryname); + +# print STDERR "getBlobOrTreeOfPathAndTree: pathname: \"$pathname\" :: e= ntryname: \"$entryname\"\n"; + next if ( ! $pathname eq $entryname ); + + close (DIRLIST); +# print STDERR "Juhu, wir haben $pathname gefunden :: $objectid\n"; + return $entrytype; + } + } + close (DIRLIST); + + return undef; +} + +sub getBlobOrTreeOfPathAndTree() { + my ($self, $pathname, $treeid ) =3D @_; + + open (DIRLIST, "git-ls-tree $treeid $pathname |") or die "Cannot open git= -ls-tree $treeid $pathname"; + while (<DIRLIST>) { + if (m/(\d+)\s(\w+)\s([[:xdigit:]]+)\t(.*)/) { + my ($entrymode, $entrytype, $objectid, $entryname) =3D ($1, $2, $3, $4); + + # Weed out things to ignore + foreach my $ignoredir ($config->{ignoredirs}) { + next if $entryname eq $ignoredir; + } + + $entryname =3D $self->sanitizePath( $entryname ); + next if (! $pathname eq $entryname ); + + close (DIRLIST); + return $objectid; + } + } + close (DIRLIST); + + return undef; +} + +# +# This function will take a branch name ("master") or a tag name +# (like "v2.6.15") and return either the branch commit object ID, +# or descend from the tag object into the referenced commit object +# and return its commit ID. XXX +# +sub get_newest_commit_from_branchhead_or_tag ($$) { + my ($self, $head_or_tag) =3D @_; + my $objtype =3D `git-cat-file -t $head_or_tag | tr -d \$'\n'`; + + if ($objtype eq "commit") { + return $head_or_tag; + } elsif ($objtype eq "tag") { + return `git-cat-file tag $head_or_tag | grep '^object' | head -n1 | cut = -f 2 -d ' ' | tr -d \$'\n'`; + } else { + die ("get_newest_commit_from_branchhead_or_tag: Unrecognized object type= $objtype for $head_or_tag\n"); + } +} + +sub sanitizePath() { + my ($self, $pathname) =3D @_; + + if ( $pathname eq "" ) { + # Empty? Just beam the client to the root. + $pathname =3D "."; + } elsif ( $pathname =3D~ m#^/# ) { + # Absolute? We want them to be relative! + $pathname =3D ".$pathname"; + } else { + # Filename incurrent directory? Add "./" to + # make them truly relative. + $pathname =3D "./$pathname"; + } + + # Don't let them exploit us easily. +# if ( $pathname =3D~ m#/../# ) { +# die("You are now dead because of $pathname\n"); +# } + + # Doubled slashes? We remove them. + $pathname =3D~ s#//#/#g; + + # Delete leading slashes. + $pathname =3D~ s#/*$##g; + + return $pathname; +} + +1; diff -u -p -r1.26 lxr.conf --- a/templates/lxr.conf 2 Nov 2005 23:39:55 -0000 1.26 +++ b/templates/lxr.conf 26 Mar 2006 11:01:29 -0000 @@ -113,7 +113,15 @@ # the 'sourceparams' value below. This should point to a directory wher= e the=20 # code can write and read files. # 'sourceroot' =3D> 'bk:/some/repository/here', - =09 + + # Finally, you can also use GIT, Linux Kernel's new + # distributes SCM to access the history: + # 'sourceroot' =3D> 'git:/some/repository/.git' + # 'sourceroot' =3D> 'git:/some/repostitory.git' + # The `sourceroot' config variable points to the directory + # in which you find the `objects', `refs', `index' etc. + # directories. + # The name to display for this source tree 'sourcerootname' =3D> 'Example', =09 @@ -231,7 +239,9 @@ #'cvswebprefix' =3D> 'http://cvs.myhost.com/cgi-bin/viewcvs.cgi/myroot', #'cvswebpostfix' =3D> '', =20 - # choose to ignore certain directories - 'ignoredirs' =3D> ['CVSROOT'], # 'CVS' dir is always ignored + # Directories to always ignore. These usually are the SCM's + # private directories which possibly may contain non-public + # project history. + 'ignoredirs' =3D> ['CVSROOT', '.git'], } ) --=20 Jan-Benedict Glaw jb...@lu... . +49-172-7608481 = _ O _ "Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg = _ _ O f=C3=BCr einen Freien Staat voll Freier B=C3=BCrger" | im Internet! | i= m Irak! O O O ret =3D do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA)= ); |
From: Jan-Benedict G. <jb...@lu...> - 2006-03-26 12:03:49
|
Hi! This patch introduces a LXR::Author object. It currently holds the author's full name, a username (if used; this may be the SCM's username or possibly the local part of an email address or something like that) and author's email address. This LXR::Author can be used by GIT to supply authorship information. It's not yet used in common code (eg. `source' could make good use of it, but we failed to understand how `source' makes use of author information). Maybe somebody else more familiar with the code can hack `source' to make use of it? (The other backends like BK, CVS and Plain will need a small fix to store their info in LXR::Authors, too.) MfG, JBG 2006-02-26 Maximilian Wilhelm <ma...@rf...> * lib/LXR/Author.pm: New file. This implements an Author object containing the Author's full name, a username (if available) and his/her email address. This could be helpful to eg. directly link an author's email address in a "cvs blame" like matter. --- /dev/null 2006-03-14 17:36:51.000000000 +0100 +++ b/lib/LXR/Author.pm 2006-03-26 13:57:14.000000000 +0200 @@ -0,0 +1,22 @@ +#!/usr/bin/env perl -w + +package LXR::Author; + +use strict; + +sub new () { + my ($self, $authorname, $email_localpart, $email_full) =3D @_; + + bless { + authorname =3D> $authorname, + email_localpart =3D> $email_localpart, + email_full =3D> $email_full }, $self; +} + +sub getAuthorString() { + my $self =3D shift; + + return "<a href=3D\"mailto:$self->{email_full}\" alt=3D\"$self->{authorna= me}>$self->{email_localpart}</a>"; +} + +1; --=20 Jan-Benedict Glaw jb...@lu... . +49-172-7608481 = _ O _ "Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg = _ _ O f=C3=BCr einen Freien Staat voll Freier B=C3=BCrger" | im Internet! | i= m Irak! O O O ret =3D do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA)= ); |
From: Jan-Benedict G. <jb...@lu...> - 2006-03-26 11:59:15
|
Hi! Maximilian Wilhelm and I started to work on LXR to support GIT as a backend (since GIT is now used for Linux kernel work.) When it started to work somewhat, I found out that ectags now recognizes some more object types. This patch supports those and also reorders existing entries. MfG, JBG 2006-03-26 Jan-Benedict Glaw <jb...@lu...> Maximilian Wilhelm <ma...@rf...> * lib/LXR/Lang/generic.conf (langmap->C->typemap): Sort. (langmap->C++->typemap): Dito. (langmap->SQL->typemap): Dito. (langmap->VB->typemap): Dito. (langmap->Perl->typemap): Sort, add 'l' for "label". (langmap->Python->typemap): Add 'm' for "member". --- a/lib/LXR/Lang/generic.conf 19 Oct 2004 19:19:21 -0000 1.18 +++ b/lib/LXR/Lang/generic.conf 26 Mar 2006 10:23:33 -0000 @@ -44,6 +44,7 @@ 'e' =3D> 'enumerator', 'f' =3D> 'function definition', 'g' =3D> 'enumeration name', + 'i' =3D> 'interface', 'm' =3D> 'class, struct, or union member', 'n' =3D> 'namespace', 'p' =3D> 'function prototype or declaration', @@ -52,7 +53,6 @@ 'u' =3D> 'union name', 'v' =3D> 'variable definition', 'x' =3D> 'extern or forward variable declaration', - 'i' =3D> 'interface' }, 'langid' =3D> '1', }, @@ -91,6 +91,7 @@ 'e' =3D> 'enumerator', 'f' =3D> 'function definition', 'g' =3D> 'enumeration name', + 'i' =3D> 'interface', 'm' =3D> 'class, struct, or union member', 'n' =3D> 'namespace', 'p' =3D> 'function prototype or declaration', @@ -99,7 +100,6 @@ 'u' =3D> 'union name', 'v' =3D> 'variable definition', 'x' =3D> 'extern or forward variable declaration', - 'i' =3D> 'interface' }, 'langid' =3D> '2', =20 @@ -562,8 +562,9 @@ 'string' =3D> ("'", "'") ], 'typemap' =3D> { - 's' =3D> 'subroutine', + 'l' =3D> 'label', 'p' =3D> 'package', + 's' =3D> 'subroutine', }, 'langid' =3D> '7', =20 @@ -587,6 +588,7 @@ 'typemap' =3D> { 'c' =3D> 'class', 'f' =3D> 'function', + 'm' =3D> 'class member', }, 'langid' =3D> '8', }, @@ -990,17 +992,17 @@ 'string', "'", "'", 'atom', '\\\\.', '', ], 'typemap' =3D> { - 'f' =3D> 'field', 'c' =3D> 'constraint', - 't' =3D> 'table', - 'T' =3D> 'trigger', - 'F' =3D> 'function', - 'P' =3D> 'procedure', 'C' =3D> 'cursor', - 'p' =3D> 'package', + 'f' =3D> 'field', + 'F' =3D> 'function', 'i' =3D> 'index', + 'p' =3D> 'package', + 'P' =3D> 'procedure', 's' =3D> 'sequence', 'S' =3D> 'synonym', + 't' =3D> 'table', + 'T' =3D> 'trigger', 'v' =3D> 'view', }, 'langid' =3D> '11', @@ -1049,14 +1051,14 @@ 'atom', '\\\\.', '', ], 'typemap' =3D> { - 's' =3D> 'subroutine', - 'f' =3D> 'function', 'c' =3D> 'const', - 'n' =3D> 'name', - 'l' =3D> 'label', 'e' =3D> 'enum', - 'v' =3D> 'variable', + 'f' =3D> 'function', + 'l' =3D> 'label', + 'n' =3D> 'name', + 's' =3D> 'subroutine', 't' =3D> 'type', + 'v' =3D> 'variable', }, 'langid' =3D> '12', }, --=20 Jan-Benedict Glaw jb...@lu... . +49-172-7608481 = _ O _ "Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg = _ _ O f=C3=BCr einen Freien Staat voll Freier B=C3=BCrger" | im Internet! | i= m Irak! O O O ret =3D do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA)= ); |
From: Malcolm B. <mal...@gm...> - 2006-03-23 19:56:49
|
sean yang wrote: > > The INSTALL file says, I need to setup a webserver first, even I just > look at code myself? Do I understand the INSTALL instruction in a wrong > way? You have not misunderstood - you need a webserver even to browse local sources. LXR is a web-based source browsing system, and that means a webserver is required. Luckily it isn't that hard to setup a webserver - Apache is available as binaries for virtually all platforms. Regards, Malcolm |
From: Sylvain C. <Syl...@bu...> - 2006-03-23 06:00:21
|
Hi LXR team, =20 Your tool is great ! would it be possible to add some more codelines like XI and XIR2 ? Congratulation for this very usefull code search engine !, Cheers, =20 Sylvain =20 |
From: sean y. <sea...@ho...> - 2006-03-20 18:46:42
|
Anyone has the experience to setup an lxr server to view code on his local machine? For example, i want to read src code not only kernel, but also gcc code on my machine. The INSTALL file says, I need to setup a webserver first, even I just look at code myself? Do I understand the INSTALL instruction in a wrong way? ------------------------------------- 1 In order to install LXR, you will need: 2 3 - Perl version 5 or later. 4 - A webserver with cgi-script capabilities. 5 6 and optionally, to enable the freetext search queries: 7 8 - Glimpse ..... ------------------------------------- _________________________________________________________________ Dont just search. Find. Check out the new MSN Search! http://search.msn.click-url.com/go/onm00200636ave/direct/01/ |
From: Malcolm B. <mal...@gm...> - 2006-02-20 18:25:33
|
Hi Adrian, Adrian McMenamin wrote: > But the style sheet is being blocked - it is in the /lxr directory and has > world-read on. > > What apache directive should I fix? It's not giving an inaccessible error, but an internal server config error. Have a look in your apache error logs and see if there's a clue there. Malcolm |
From: Adrian M. <ad...@mc...> - 2006-02-09 10:37:47
|
I appreciate this is more an apache question than a specific lxr one and the noise on this list makes me wonder if anyone is listening at all! But... my lxr is here: http://newgolddream.dyndns.info/lxr/source But the style sheet is being blocked - it is in the /lxr directory and has world-read on. What apache directive should I fix? |
From: Malcolm B. <mal...@gm...> - 2006-01-29 23:32:30
|
Can you give examples of the paths when things go wrong? Malcolm Gene Sm(i)th wrote: > When I browse into a source tree with LXR, once I reach a certain place > in the tree and try to go to the next level, instead of going there it > jumps back to the top level (the source root). The path displayed in LXR > and in the navigation area on the browser seem correct but the data is > wrong data (not the expected listing of files) in the display area. > > I originally did not have this problem on linux. Then I tried to port > LXR to a cygwin environment (windows) and it did this. I tried mysql > and postgres with the same results. So I gave up on cygwin. Then > recently I needed to install on linux again and it does the same as > cygwin (jumps back to top after browsing into the tree at some points). > > When it worked on linux, I used 0.9.3. When I installed on cygwin and > recently on linux I used 0.9.4. I don't know if that is significant. > > -gene > > > ------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. Do you grep through log > files > for problems? Stop! Download the new AJAX search engine that makes > searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642 > _______________________________________________ > Lxr-general mailing list > Lxr...@li... > https://lists.sourceforge.net/lists/listinfo/lxr-general |
From: Gene S. <gd...@gm...> - 2006-01-25 16:31:07
|
On 1/24/06, Gene Sm(i)th wrote: > When I browse into a source tree with LXR, once I reach a certain place > in the tree and try to go to the next level, instead of going there it > jumps back to the top level (the source root). The path displayed in LXR > and in the navigation area on the browser seem correct but the data is > wrong data (not the expected listing of files) in the display area. > > I originally did not have this problem on linux. Then I tried to port > LXR to a cygwin environment (windows) and it did this. I tried mysql > and postgres with the same results. So I gave up on cygwin. Then > recently I needed to install on linux again and it does the same as > cygwin (jumps back to top after browsing into the tree at some points). > > When it worked on linux, I used 0.9.3. When I installed on cygwin and > recently on linux I used 0.9.4. I don't know if that is significant. > Solved. This is caused by bug 1322202 which prevented navigation into directories with just 2 chars. With stock 0.9.4 installed, to fix I had to look up lib/LXR/Common.pm in cvs and manually apply the patch that you get by diff'ing 1.51 (committed for 0.9.4) and 1.53. If 0.9.4 is installed it is best to change both copies of Common.pm, the one under site_perl and the one in the /usr/local/lxr directory and rebuild from scratch: mysql \. initdb-mysql; genxref. |
From: Gene Sm(i)t. <gd...@gm...> - 2006-01-25 03:15:23
|
When I browse into a source tree with LXR, once I reach a certain place in the tree and try to go to the next level, instead of going there it jumps back to the top level (the source root). The path displayed in LXR and in the navigation area on the browser seem correct but the data is wrong data (not the expected listing of files) in the display area. I originally did not have this problem on linux. Then I tried to port LXR to a cygwin environment (windows) and it did this. I tried mysql and postgres with the same results. So I gave up on cygwin. Then recently I needed to install on linux again and it does the same as cygwin (jumps back to top after browsing into the tree at some points). When it worked on linux, I used 0.9.3. When I installed on cygwin and recently on linux I used 0.9.4. I don't know if that is significant. -gene |
From: Jason M. <jcm...@no...> - 2005-12-07 15:00:33
|
Jim, I have removed KE completely as it does seem rather... ummm... broken. Thanks for the heads up. Jason ! John, James [CAR:QT32:EXCH] <jo...@am...> [071205 09:49]: > Thanks Jason > > I can search successfully in CPL_02.00 KB stream. For me that is enough > to get me working, however I'd just like to point out that the KE stream > seems to be broken but is not a problem for me. > > Cheers > > Jim > > -----Original Message----- > From: Milley, Jason [CAR:LSBA:EXCH] > Sent: 07 December 2005 09:21 > To: John, James [CAR:QT32:EXCH] > Cc: lxr...@li... > Subject: Re: [Lxr-general] LXR broken for CPL_02.00 > > > Strange... all of the clearcase vobs on the LXR machine have been > unmounted. I have remounted them and will be looking into a script to > do so automatically when they are dropped. > > Please try it again and let me know if it has been fixed. Note that you > may have to force a browser reload. > > Jason > > ! John, James [CAR:QT32:EXCH] <jo...@am...> [071205 > 07:45]: > > The directory > > /localdisk/opt/lxr_optical/streams/CPL_02.00/src/KB/viking_cpl_apps/ > > does not exist. > > ** Warning: Unable to open > > /localdisk/opt/lxr_optical/streams/CPL_02.00/src/KB/viking_cpl_apps/ > > > > > > None of the files seem to be accessible. |
From: James J. <jo...@no...> - 2005-12-07 14:49:35
|
Thanks Jason I can search successfully in CPL_02.00 KB stream. For me that is enough to get me working, however I'd just like to point out that the KE stream seems to be broken but is not a problem for me. Cheers Jim -----Original Message----- From: Milley, Jason [CAR:LSBA:EXCH]=20 Sent: 07 December 2005 09:21 To: John, James [CAR:QT32:EXCH] Cc: lxr...@li... Subject: Re: [Lxr-general] LXR broken for CPL_02.00 Strange... all of the clearcase vobs on the LXR machine have been unmounted. I have remounted them and will be looking into a script to do so automatically when they are dropped. Please try it again and let me know if it has been fixed. Note that you may have to force a browser reload. Jason ! John, James [CAR:QT32:EXCH] <jo...@am...> [071205 07:45]: > The directory=20 > /localdisk/opt/lxr_optical/streams/CPL_02.00/src/KB/viking_cpl_apps/ > does not exist. > ** Warning: Unable to open > /localdisk/opt/lxr_optical/streams/CPL_02.00/src/KB/viking_cpl_apps/ >=20 >=20 > None of the files seem to be accessible. |
From: Jason M. <jcm...@no...> - 2005-12-07 14:21:12
|
Strange... all of the clearcase vobs on the LXR machine have been unmounted. I have remounted them and will be looking into a script to do so automatically when they are dropped. Please try it again and let me know if it has been fixed. Note that you may have to force a browser reload. Jason ! John, James [CAR:QT32:EXCH] <jo...@am...> [071205 07:45]: > The directory > /localdisk/opt/lxr_optical/streams/CPL_02.00/src/KB/viking_cpl_apps/ > does not exist. > ** Warning: Unable to open > /localdisk/opt/lxr_optical/streams/CPL_02.00/src/KB/viking_cpl_apps/ > > > None of the files seem to be accessible. |
From: James J. <jo...@no...> - 2005-12-07 12:44:39
|
The directory /localdisk/opt/lxr_optical/streams/CPL_02.00/src/KB/viking_cpl_apps/ does not exist.=20 ** Warning: Unable to open /localdisk/opt/lxr_optical/streams/CPL_02.00/src/KB/viking_cpl_apps/ None of the files seem to be accessible. |
From: Peng Z. <pen...@gm...> - 2005-12-07 06:11:31
|
hi all, I follow the installation instructions but fail to enable lxr successfully. system: debian sarge, apach2, swish-e, lxr-cvs(0.9.2), perl-5.8.7, mod-perl/2.0.1 if i access my host via http://218.194.50.253/lxr , i will see the index of /lxr. then i click file link source, an "Internal Server Error" ocurred, the error info: " The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, webmaster@localhost and inform the= m of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log. ------------------------------ Apache/2.0.54 (Debian GNU/Linux) PHP/4.3.10-16 mod_perl/2.0.1 Perl/v5.8.7 Server at 127.0.0.1 Port 80 " I check the /var/log/apache2/error.log, i found : [Wed Dec 07 14:06:02 2005] [error] [client 127.0.0.1] failed to resolve handler `Apache::Registry': Can't locate loadable object for module Apache::Constants in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.8.7 /usr/local/share/perl/5.8.7 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl . /etc/apache2) at /usr/lib/perl5/mod_perl.pm line 14\nCompilation failed in require at /usr/lib/perl5/Apache.pm line 6.\nBEGI= N failed--compilation aborted at /usr/lib/perl5/Apache.pm line 6.\nCompilatio= n failed in require at /usr/lib/perl5/Apache/Registry.pm line 2.\nBEGIN failed--compilation aborted at /usr/lib/perl5/Apache/Registry.pm line 2.\nCompilation failed in require at (eval 2) line 3.\n so i thought this error is may be resluted from lack of some perl packge? but i am not sure which one is needed. I hope you could help me. Thanks in advanced. following is my lxr.conf: # -*- mode: perl -*- # Configuration file # ( { # Global configuration # Path to glimpse executable. # Define this OR the swish-e variables depending which search engine you want to use. ##'glimpsebin' =3D> '/info/lxr/bin/glimpse', # Where to store the glimpse index files ##'glimpsedir' =3D> 'somewhere', # Location of SWISH-E indexer binary 'swishindex' =3D> '/usr/bin/swish-e', # Location of SWISH-E search binary 'swishsearch' =3D> '/usr/bin/swish-search', # Where to store the swish index files 'swishdir' =3D> '/var/lib/lxr-cvs/index', # Path to Exuberant Ctags executable 'ectagsbin' =3D> '/usr/bin/ctags-exuberant', # Place where lxr can write temporary files 'tmpdir' =3D> '/tmp', # Location of the Generic.pm <http://generic.pm/> config file 'genericconf' =3D> '/var/lib/lxr-cvs/lib/LXR/Lang/generic.conf' }, { # Configuration for http://hostname.dom/lxr. # !!!! Change the 'baseur' according to your domanin name or IP addres= s # baseurl is used to select configuration block. # 'baseurl' =3D> 'http://localhost/lxr', # Put your URL here 'baseurl' =3D> 'http://218.194.50.253/lxr', # Put your URL here 'virtroot' =3D> '/lxr', # The bit after the= / above 'variables' =3D> { # Define typed variable "v". This is the list of versions to index. 'v' =3D> {'name' =3D> 'Version'= , # This can come from a file, a function or be explicitly # ennumerated. # From a file: 'range' =3D> [ readfile('/usr/src/versions') ], # Explicitly: # 'range' =3D> [qw= (v1 v2 v3.1 v4 experimental)], # If files within = a tree can have different versions, # e.g in a CVS tree, 'range' can be specified as a # function to call for each file: #'range' =3D> su= b { return # ($files->allreleases($LXR::Common::pathname), # $files->allrevisions($LXR::Common::pathname)) # }, # deferred function call. # The default version to display 'default' =3D> '2.= 5.6 '}, # Define typed variable "a". Firs= t value is default. 'a' =3D> {'name' =3D> 'Architecture', 'range' =3D> [qw(i386 alpha arm m68k mips ppc sparc sparc64)]}, }, # These do funky things to paths in the system - you probably don't need them. 'maps' =3D> { '/include/asm[^\/]*/' =3D> '/include/asm-$a/', '/arch/[^\/]+/' =3D> '/arch/$a/', }, # Templates used for headers and footers 'htmlhead' =3D> 'html-head.html', 'htmltail' =3D> 'html-tail.html', 'htmldir' =3D> 'html-dir.html', 'htmlident' =3D> 'html-ident.html', 'htmlident_refs' =3D> 'html-ident-refs.html', 'sourcehead' =3D> 'html-head.html', 'sourcedirhead' =3D> 'html-head.html', 'stylesheet' =3D> 'lxr.css', # sourceroot - where to get the source files from # For ordinary directories, this specifies a directory which has each version as a # subdirectory e.g. # indexed-src/version1/... # indexed-src/version2/... # The names of the version directories must match the values for the Version # variable above. 'sourceroot' =3D> '/usr/src/', # Alternatively, this can specify a CVS repository by setting the value t= o "cvs:" # followed by the path to the repository. Note this must be file accessible - remote # server access does NOT work. # 'sourceroot' =3D> 'cvs:/hom/karsk/a/CVSROOT/linux', # The name to display for this source tree 'sourcerootname' =3D> 'Example', # The DBI identifier for the database to use # For mysql, the format is dbi:mysql:dbname=3D<name> # for Postgres, it is dbi:Pg:dbname=3D<name> # for Oracle, it is dbi:Oracle:host=3Dlocalhost;sid=3DDEVMMS;port=3D1521 'dbname' =3D> 'dbi:mysql:dbname=3Dlxr', # If you need to specify the username or password for the database connection, # uncomment the following two lines 'dbpass' =3D> 'kernel', 'dbuser' =3D> 'root', # For using glimpse, the directory to store the .glimpse files in is required #'glimpsedir' =3D> '/path/to/glimpse/databases', # Location of swish-e index database files if using swish-e #'swishdir' =3D> '/a/directory/here/', # where to look for include files inside the sourcetree. This is used to hyperlink # to included files. 'incprefix' =3D> ['/include', '/include/linux'], # Which extensions to treat as images when browsing. If a file is an image, # it is displayed. 'graphicfile' =3D> '(?i)\.(gif|jpg|jpeg|pjpg|pjpeg|xbm|png)$', #' # How to map files to languages # Note that the string for the key and the first entry in the # array MUST match 'filetype' =3D> { # Format is # Language name, filepatten regexp, module to invoke, # (optional )tabwidth # Note that to have another language supported by Generic.pm <http://generic.pm/>, # you must ensure that: # a) exuberant ctags supports it # b) generic.conf is updated to specify information about the language # c) the name of the language given here matches the entry in generic.conf 'C' =3D> ['C', '\.c$' #' , 'LXR::Lang::Generic', '8'], 'C++' =3D> ['C++', '\.C$|((?i)\.c\+\+$|\.cc$|\.cpp$|\.cxx$|\.h$|\.hh$|\.hpp$|\.hxx$|\.h\+\+$)' #' , 'LXR::Lang::Generic', '8'], # Some languages are commented out until the relevant entries in generic.conf are made # The list here is the set supported by ctags 5.0.1 # ['Beta', '(?i)\.bet$' #' # , 'LXR::Lang::Generic'], # ['Cobol', '(?i)\.cob$' #' # , 'LXR::Lang::Generic'], # ['Eiffel', '(?i)\.e$' #' # , 'LXR::Lang::Generic'], # ['Fortran', '(?i)\.f$|\.for$|\.ftn$|\.f77$|\.f90$|\.f95$' #' # , 'LXR::Lang::Generic'], 'Java' =3D> ['Java', '(?i)\.java$' #' , 'LXR::Lang::Java', '4'], # ['Lisp', '(?i)\.cl$|\.clisp$|\.el$|\.l$|\.lisp$|\.lsp$|\.ml$' #' # , 'LXR::Lang::Generic'], # No tabwidth specified here as an example 'Make' =3D> ['Make', '(?i)\.mak$|makefile*= ' #' , 'LXR::Lang::Generic'], # ['Pascal', '(?i)\.p$|\.pas$' #' # , 'LXR::Lang::Generic'], 'Perl' =3D> ['Perl', '(?i)\.pl$|\.pm$|\.perl$' #' , 'LXR::Lang::Generic', '4'], 'php' =3D> ['php', '(?i)\.php$|\.php3$|\.phtml$' #' , 'LXR::Lang::Generic', '2'], 'Python' =3D> ['Python', '(?i)\.py$|\.python$' #' , 'LXR::Lang::Generic', '4'], # ['rexx', '(?i)\.cmd$|\.rexx$|\.rx$' #' # , 'LXR::Lang::Generic'], # ['ruby', '(?i)\.rb$' #' # , 'LXR::Lang::Generic'], # ['scheme', '(?i)\.sch$|\.scheme$|\.scm$|\.sm$' #' # , 'LXR::Lang::Generic'], # ['shell', '(?i)\.sh$|\.bsh$|\.bash$|\.ksh$|\.zsh$' #' # , 'LXR::Lang::Generic'], # ['s-Lang', '(?i)\.sl$' #' # , 'LXR::Lang::Generic'], # ['tcl', '(?i)\.tcl$|\.wish$' #' # , 'LXR::Lang::Generic'], }, # Maps interpreter names to languages. The format is: # regexp =3D> langname # regexp is matched against the part after #! on the first line of a file # langname must match one of the keys in filetype above. # # This mapping is only used if the filename doesn't match a pattern above= , so # a shell script called shell.c will be recognised as a C file, not a shell file. 'interpreters' =3D> { 'perl' =3D> 'Perl', # 'bash' =3D> 'shell', # 'csh' =3D> 'shell', 'python' =3D> 'Python', }, }) -- Zhou Peng |
From: Martin F. <mar...@or...> - 2005-12-05 16:29:26
|
Hello I've been trying to set up LXR 0.9.4 but ran into loads of problems. Setup: - Gentoo Linux (but installed LXR manually, ie not via emerge since last LXR ebuild is 0.3.1) - Apache 2.0.54 - mod_perl 2.0.1 - Perl 5.8.6 - PostgreSQL 8.0.4 - swish-e 2.2.2 I followed the provided INSTALL file (not without problems, there are some minor bugs in there, drop me an email if you want info on that) and checked if the prerequisites worked with these results: - Apache loads mod_perl and uses it - genxref runs through without error and populates the tables (checked with pgsql as user lxr and ran a perl script to access the database) - swish-e index is generated, can query it by calling swish-e from command line Then I tried to browse LXR, but it failed because the Apache::Registry PerlHandler in the .htaccess file could not be found. I replaced that with "PerlResponseHandler ModPerl::Registry" and now I am able to do the following: - Browsing the indexed source tree, ie source directories are displayed - Viewing source code, all identifier are links to the ident script First problem: Nothing from the html templates is shown, no header, no footer, and the 'ident' and 'search' pages show only two head rulers. The Apache log shows that the template files are simply not found. To address that, I added the full path to the template filenames in lxr.conf, and the templates are found and used. Second problem: The search pages do not give any results, just nothing is found. Since the identifier links in the source code view refer to the 'ident' script, following those links yields no results either. As I said before, the info is in the database, I can query it manually and from a little test script I wrote myself. (I also tried the CGI alternative with the same result. Additionally, the lxr.css file could not be loaded.) I tried to isolate the problems in the code itself, but I am no perl guru and gave up after several hours. Any ideas? Thanks a lot! Martin |
From: Igor L. <igo...@te...> - 2005-12-01 15:46:21
|
Jason, thanks for the info. I will communicate with Telrad designers to find out whether there are specific milestone baselines they need to see in LXR and let you know. Regards, Igor. -----Original Message----- From: Milley, Jason [CAR:LSBA:EXCH] [mailto:jcm...@am...] Sent: Thursday, December 01, 2005 5:42 PM To: Igor Litmanovich Cc: 'lxr...@li...'; Alex Molodetsky; Vladimir Bass Subject: Re: [Lxr-general] Searching xref in older baselines Igor, Each of the Optical streams is indexed twice a week. OME_DLVR2.0 runs every Sunday and Wednesday against the most recent baselines at those times. For disk space reasons, we cannot keep the indexes of all baselines of all streams so there is a periodic cleanup of older content. If you have specific baselines that are required for extended periods of time (such as milestone baselines) then I could do something to prevent cleanup in those cases. Cheers, Jason ! Igor Litmanovich <igo...@te...> [301105 02:59]: > Hello, > > could you please advise, what is the general policy of displaying > baselines in LXR. Today I opened LXR for OME_DLVR2.0 stream and found > that there is xref data for the following baselines: GC, GI, GO, HQ, > HV, IB. In some cases developers in Telrad need to look into older > baselines, however they are not accessible. > > Thanks, > Igor Litmanovich. ____________________________________________________ > NLObP > Igor Litmanovich, Telrad Networks, ClearCase/Tools > Phone: 972-3-9157613, Mobile: 058-287613 > ESN: 828-7613 > ____________________________________________________ > |
From: Jason M. <jcm...@no...> - 2005-12-01 15:42:54
|
Igor, Each of the Optical streams is indexed twice a week. OME_DLVR2.0 runs every Sunday and Wednesday against the most recent baselines at those times. For disk space reasons, we cannot keep the indexes of all baselines of all streams so there is a periodic cleanup of older content. If you have specific baselines that are required for extended periods of time (such as milestone baselines) then I could do something to prevent cleanup in those cases. Cheers, Jason ! Igor Litmanovich <igo...@te...> [301105 02:59]: > Hello, > > could you please advise, what is the general policy of displaying > baselines in LXR. Today I opened LXR for OME_DLVR2.0 stream and > found that there is xref data for the following baselines: > GC, GI, GO, HQ, HV, IB. In some cases developers in Telrad need > to look into older baselines, however they are not accessible. > > Thanks, > Igor Litmanovich. > ____________________________________________________ > NLObP > Igor Litmanovich, Telrad Networks, ClearCase/Tools > Phone: 972-3-9157613, Mobile: 058-287613 > ESN: 828-7613 > ____________________________________________________ > |
From: Igor L. <igo...@te...> - 2005-11-30 07:58:01
|
Hello, could you please advise, what is the general policy of displaying baselines in LXR. Today I opened LXR for OME_DLVR2.0 stream and found that there is xref data for the following baselines: GC, GI, GO, HQ, HV, IB. In some cases developers in Telrad need to look into older baselines, however they are not accessible. Thanks, Igor Litmanovich. ____________________________________________________ NLObP Igor Litmanovich, Telrad Networks, ClearCase/Tools Phone: 972-3-9157613, Mobile: 058-287613 ESN: 828-7613 ____________________________________________________ |
From: Robin W. <wo...@no...> - 2005-11-16 21:52:13
|
Hi, On LXR, if I want to access older contexts than those listed...how would I do that? robin |
From: Surbhi R. C. <cs...@re...> - 2005-11-16 10:24:28
|
Hi All,=0AI have set up an lxr for my project.=0AThere are some C , C++ f= iles with .cpp, .c , .cxx and the header files as .h, .hxx and .hpp extensi= ons.=0AI know that lxr has got set because its indexing the .c files.=0ACan= someone please tell me how to include these extensions as well.=0AI modifi= ed the genxref file a bit ( really a bit ) to see which files are gettign i= ncluded... and then added these extensions on the line where the normal .{c= |h|[cpp]} stuff is present.=0AHowever all in vain. I just cannot see these = files indexed.=0A=0ADoes anyone know how to fix this?=0APlease mail me back= ; if you know it.=0A=0ABy the wya i forgot to mention that i am using lxr v= ersion 3 and the O.S is Fedora Core 3.=0A=0A=0AThanks a bunches!=0ARegards,= =0ASurbhi. |
From: Raseel B. <ras...@re...> - 2005-10-25 12:05:36
|
=0AI agree completely.=0A There is just loads of SPAM on this list. And = apparently no one seems to be having any sort of problems/enhancements/sugg= estions for LXR as no one seems to be active on this list.=0A=0AIf nothing = else the admin should atleast filter the list.=0A=0AThanks,=0ARaseel.=0A=0A= On Sun, 23 Oct 2005 Roland Bengtsson wrote :=0A>Hi!=0A>I have been subscrib= ed to this list for a week now, but I haven't yet seen a=0A>mail about LXR = in english. I have received some mails in French that I don't=0A>understand= , and today an offer about DVD discs in german.=0A>=0A>So I just wonder, is= the lxr mailing list dead?=0A>=0A>Regards Roland=0A>=0A>=0A>--=0A>No virus= found in this outgoing message.=0A>Checked by AVG Free Edition.=0A>Version= : 7.1.361 / Virus Database: 267.12.4/146 - Release Date: 21.10.2005=0A>=0A= =0A=0AThanks=0D=0ARaseel Bhagat |
From: Roland B. <rol...@ho...> - 2005-10-23 07:38:44
|
Hi! I have been subscribed to this list for a week now, but I haven't yet = seen a mail about LXR in english. I have received some mails in French that I = don't understand, and today an offer about DVD discs in german. =20 So I just wonder, is the lxr mailing list dead? =20 Regards Roland =20 --=20 No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.1.361 / Virus Database: 267.12.4/146 - Release Date: = 21.10.2005 =20 |