User: sits    
  Date: 08/09/09 15:45:44

  Modified:    lib/Codestriker/Repository Vss.pm ViewCvs.pm Subversion.pm
                        ScmBug.pm Perforce.pm CvsWeb.pm Cvs.pm
                        ClearCaseSnapshot.pm ClearCaseDynamic.pm
               doc      codestriker.sgml
               .        codestriker.conf CHANGELOG
  Added:       lib/Codestriker Repository.pm
  Log:
  * Make $file_viewer more flexible so it can handle file mapping URLs
    which have CGI parameters.  Submitted by [EMAIL PROTECTED]
  
  Also updated Repository objects so that there is a base class can
  share a lot of code, such as the file mapping code.
  
  
  
  Index: Vss.pm
  ===================================================================
  RCS file: /cvsroot/codestriker/codestriker/lib/Codestriker/Repository/Vss.pm,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- Vss.pm    6 Sep 2008 00:31:48 -0000       1.23
  +++ Vss.pm    9 Sep 2008 22:45:43 -0000       1.24
  @@ -14,6 +14,9 @@
   use File::Temp qw/ tmpnam tempdir /;
   use IO::Handle;
   
  +use Codestriker::Repository;
  [EMAIL PROTECTED]::Repository::Vss::ISA = ("Codestriker::Repository");
  +
   # Switch for emitting debug information.
   my $_DEBUG = 0;
   
  @@ -21,7 +24,10 @@
   sub new {
       my ($type, $username, $password, $ssdir) = @_;
   
  -    my $self = {};
  +    my $repository_string =
  +      "vss:" . (defined $ssdir && $ssdir ne '' ? "$ssdir;" : '') .
  +        $username . ":" . $password;
  +    my $self = Codestriker::Repository->new($repository_string);
       $self->{username} = $username;
       $self->{password} = $password;
       $self->{ssdir} = $ssdir;
  @@ -108,21 +114,6 @@
       return "vss:";
   }
   
  -# Return a URL which views the specified file and revision.
  -sub getViewUrl ($$$) {
  -    my ($self, $filename, $revision) = @_;
  -
  -    # Lookup the file viewer from the configuration.
  -    my $viewer = $Codestriker::file_viewer->{$self->toString()};
  -    return (defined $viewer) ? $viewer . "/" . $filename : "";
  -}
  -
  -# Return a string representation of this repository.
  -sub toString ($) {
  -    my ($self) = @_;
  -    return "vss:" . $self->{username} . ":" . $self->{password};
  -}
  -
   # Retrieve the specified VSS diff directly using VSS commands.
   sub getDiff ($$$$$) {
       my ($self, $start_tag, $end_tag, $module_name, $fh, $error_fh) = @_;
  
  
  
  
  
  Index: ViewCvs.pm
  ===================================================================
  RCS file: 
/cvsroot/codestriker/codestriker/lib/Codestriker/Repository/ViewCvs.pm,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ViewCvs.pm        6 Sep 2008 00:31:48 -0000       1.6
  +++ ViewCvs.pm        9 Sep 2008 22:45:43 -0000       1.7
  @@ -13,13 +13,15 @@
   
   use LWP::UserAgent;
   
  +use Codestriker::Repository;
  [EMAIL PROTECTED]::Repository::ViewCvs::ISA = ("Codestriker::Repository");
  +
   # Constructor, which takes as a parameter the URL to the viewcvs repository,
   # and the CVSROOT.
   sub new ($$) {
       my ($type, $viewcvs_url, $cvsroot) = @_;
   
  -    my $self = {};
  -    $self->{viewcvs_url} = $viewcvs_url;
  +    my $self = Codestriker::Repository->new($viewcvs_url);
       $self->{cvsroot} = $cvsroot;
       bless $self, $type;
   }
  @@ -31,7 +33,7 @@
   
       # Retrieve the data by doing an HTPP GET to the remote viewcvs server.
       my $ua = LWP::UserAgent->new;
  -    my $request = $self->{viewcvs_url} .
  +    my $request = $self->{repository_string} .
         "/${filename}?rev=${revision}&content-type=text/plain";
       my $response = $ua->get($request);
       my $content = Codestriker::decode_topic_text($response->content);
  @@ -49,17 +51,10 @@
       return $self->{cvsroot};
   }
   
  -# Return a URL which views the specified file.
  -sub getViewUrl ($$) {
  -    my ($self, $filename) = @_;
  -
  -    return $self->{viewcvs_url} . "/" . $filename;
  -}
  -
   # Return a string representation of this repository.
   sub toString ($) {
       my ($self) = @_;
  -    return $self->{viewcvs_url} . " " . $self->{cvsroot};
  +    return $self->{repository_string} . " " . $self->{cvsroot};
   }
   
   # The getDiff operation is not supported.
  
  
  
  
  
  Index: Subversion.pm
  ===================================================================
  RCS file: 
/cvsroot/codestriker/codestriker/lib/Codestriker/Repository/Subversion.pm,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- Subversion.pm     6 Sep 2008 00:31:48 -0000       1.25
  +++ Subversion.pm     9 Sep 2008 22:45:43 -0000       1.26
  @@ -13,10 +13,26 @@
   use strict;
   use Fatal qw / open close /;
   
  +use Codestriker::Repository;
  [EMAIL PROTECTED]::Repository::Subversion::ISA = ("Codestriker::Repository");
  +
   # Constructor, which takes as a parameter the repository url.
   sub new {
       my ($type, $repository_url, $user, $password) = @_;
   
  +    # Sanitise the repository URL.
  +    $repository_url = sanitise_url_component($repository_url);
  +
  +    # Set the repository string.
  +    my $repository_string = $repository_url;
  +    $repository_string .= ";$user" if defined $user;
  +    $repository_string .= ";$password" if defined $password;
  +    if ($repository_string !~ /^svn:/) {
  +        $repository_string = "svn:" . $repository_string;
  +    }
  +    my $self = Codestriker::Repository->new($repository_string);
  +    $self->{repository_url} = $repository_url;
  +
       # Determine if there are additional parameters required for user
       # authentication.
       my @userCmdLine = ();
  @@ -26,19 +42,7 @@
           push @userCmdLine, '--password';
           push @userCmdLine, $password;
       }
  -
  -    # Sanitise the repository URL.
  -    $repository_url = sanitise_url_component($repository_url);
  -
  -    my $self = {};
  -    $self->{repository_url} = $repository_url;
       $self->{userCmdLine} = [EMAIL PROTECTED];
  -    $self->{repository_string} = $repository_url;
  -    $self->{repository_string} .= ";$user" if defined $user;
  -    $self->{repository_string} .= ";$password" if defined $password;
  -    if ($self->{repository_string} !~ /^svn:/) {
  -        $self->{repository_string} = "svn:" . $self->{repository_string};
  -    }
   
       bless $self, $type;
   }
  @@ -92,25 +96,6 @@
       return $self->{repository_url};
   }
   
  -# Return a URL which views the specified file and revision.
  -sub getViewUrl ($$$) {
  -    my ($self, $filename, $revision) = @_;
  -
  -    # Lookup the file viewer from the configuration.
  -    my $viewer = $Codestriker::file_viewer->{$self->toString()};
  -    if (! (defined $viewer)) {
  -        $viewer = $Codestriker::file_viewer->{$self->{repository_string}};
  -    }
  -
  -    return (defined $viewer) ? $viewer . "/" . $filename : "";
  -}
  -
  -# Return a string representation of this repository.
  -sub toString ($) {
  -    my ($self) = @_;
  -    return $self->{repository_string};
  -}
  -
   # Given a Subversion URL, determine if it refers to a directory or a file.
   sub is_file_url {
       my ($self, $url) = @_;
  
  
  
  
  
  Index: ScmBug.pm
  ===================================================================
  RCS file: 
/cvsroot/codestriker/codestriker/lib/Codestriker/Repository/ScmBug.pm,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ScmBug.pm 6 Sep 2008 00:31:48 -0000       1.4
  +++ ScmBug.pm 9 Sep 2008 22:45:43 -0000       1.5
  @@ -11,6 +11,9 @@
   
   use strict;
   
  +use Codestriker::Repository;
  [EMAIL PROTECTED]::Repository::ScmBug::ISA = ("Codestriker::Repository");
  +
   # Optional dependencies for people who don't require ScmBug functionality.
   eval("use Scmbug::ActivityUtilities");
   
  @@ -19,7 +22,7 @@
   sub new {
       my ($type, $hostname, $port, $repository) = @_;
   
  -    my $self = {};
  +    my $self = Codestriker::Repository->new("scmbug: ${hostname}:${port} " . 
$repository->toString());
       $self->{repository} = $repository;
       $self->{scmbug} = Scmbug::ActivityUtilities->new($hostname, $port);
   
  
  
  
  
  
  Index: Perforce.pm
  ===================================================================
  RCS file: 
/cvsroot/codestriker/codestriker/lib/Codestriker/Repository/Perforce.pm,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- Perforce.pm       6 Sep 2008 00:31:48 -0000       1.8
  +++ Perforce.pm       9 Sep 2008 22:45:43 -0000       1.9
  @@ -11,18 +11,22 @@
   
   use strict;
   
  +use Codestriker::Repository;
  [EMAIL PROTECTED]::Repository::Perforce::ISA = ("Codestriker::Repository");
  +
   # Constructor, which takes as a parameter the password, hostname and port.
   sub new ($$$$$) {
       my ($type, $user, $password, $hostname, $port) = @_;
   
  -    my $self = {};
  +    my $repository_string = "perforce:${user}" .
  +      (defined $password && $password ne '' ? ":${password}" : '') .
  +        "@" . "${hostname}:${port}";
  +    my $self = Codestriker::Repository->new($repository_string);
  +
       $self->{user} = $user;
       $self->{password} = $password;
       $self->{hostname} = $hostname;
       $self->{port} = $port;
  -    $self->{root} = "perforce:${user}" .
  -      (defined $password && $password ne '' ? ":${password}" : '') .
  -        "@" . "${hostname}:${port}";
       bless $self, $type;
   }
   
  @@ -53,22 +57,7 @@
   # Retrieve the "root" of this repository.
   sub getRoot ($) {
       my ($self) = @_;
  -    return $self->{root};
  -}
  -
  -# Return a URL which views the specified file and revision.
  -sub getViewUrl ($$$) {
  -    my ($self, $filename, $revision) = @_;
  -
  -    # Lookup the file viewer from the configuration.
  -    my $viewer = $Codestriker::file_viewer->{$self->{root}};
  -    return (defined $viewer) ? $viewer . "/" . $filename : "";
  -}
  -
  -# Return a string representation of this repository.
  -sub toString ($) {
  -    my ($self) = @_;
  -    return $self->{root};
  +    return $self->{repository_string};
   }
   
   # Given a start tag, end tag and a module name, store the text into
  
  
  
  
  
  Index: CvsWeb.pm
  ===================================================================
  RCS file: 
/cvsroot/codestriker/codestriker/lib/Codestriker/Repository/CvsWeb.pm,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- CvsWeb.pm 6 Sep 2008 00:31:48 -0000       1.7
  +++ CvsWeb.pm 9 Sep 2008 22:45:43 -0000       1.8
  @@ -13,13 +13,15 @@
   
   use LWP::UserAgent;
   
  +use Codestriker::Repository;
  [EMAIL PROTECTED]::Repository::CvsWeb::ISA = ("Codestriker::Repository");
  +
   # Constructor, which takes as a parameter the URL to the cvsweb repository,
   # and the CVSROOT.
   sub new ($$) {
       my ($type, $cvsweb_url, $cvsroot) = @_;
   
  -    my $self = {};
  -    $self->{cvsweb_url} = $cvsweb_url;
  +    my $self = Codestriker::Repository->new($cvsweb_url);
       $self->{cvsroot} = $cvsroot;
       bless $self, $type;
   }
  @@ -31,7 +33,7 @@
   
       # Retrieve the data by doing an HTPP GET to the remote viewcvs server.
       my $ua = LWP::UserAgent->new;
  -    my $request = $self->{cvsweb_url} . "/~checkout~" .
  +    my $request = $self->{repository_string} . "/~checkout~" .
         "/${filename}?rev=${revision}&content-type=text/plain";
       my $response = $ua->get($request);
       my $content = Codestriker::decode_topic_text($response->content);
  @@ -48,17 +50,10 @@
       return $self->{cvsroot};
   }
   
  -# Return a URL which views the specified file.
  -sub getViewUrl ($$) {
  -    my ($self, $filename) = @_;
  -
  -    return $self->{cvsweb_url} . "/" . $filename;
  -}
  -
   # Return a string representation of this repository.
   sub toString ($) {
       my ($self) = @_;
  -    return $self->{cvsweb_url} . " " . $self->{cvsroot};
  +    return $self->{repository_string} . " " . $self->{cvsroot};
   }
   
   # The getDiff operation is not supported.
  
  
  
  
  
  Index: Cvs.pm
  ===================================================================
  RCS file: /cvsroot/codestriker/codestriker/lib/Codestriker/Repository/Cvs.pm,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- Cvs.pm    6 Sep 2008 00:31:48 -0000       1.12
  +++ Cvs.pm    9 Sep 2008 22:45:43 -0000       1.13
  @@ -13,15 +13,17 @@
   use FileHandle;
   use Fatal qw / open close /;
   
  +use Codestriker::Repository;
  [EMAIL PROTECTED]::Repository::Cvs::ISA = ("Codestriker::Repository");
  +
   # Factory method for creating a local CVS repository object.
   sub build_local {
       my ($type, $cvsroot, $optional_prefix) = @_;
   
  -    my $self = {};
  +    my $self = Codestriker::Repository->new("${optional_prefix}${cvsroot}");
       $self->{cvsroot} = $cvsroot;
       $optional_prefix = "" unless defined $optional_prefix;
       $self->{optional_prefix} = $optional_prefix;
  -    $self->{url} = "${optional_prefix}${cvsroot}";
       bless $self, $type;
   }
   
  @@ -29,15 +31,14 @@
   sub build_pserver {
       my ($type, $optional_args, $username, $password, $hostname, $cvsroot) = 
@_;
   
  -    my $self = {};
  +    my $self = 
Codestriker::Repository->new(":pserver${optional_args}:${username}:${password}\@"
 .
  +                                            "${hostname}:${cvsroot}");
       $optional_args = "" unless defined $optional_args;
       $self->{optional_args} = $optional_args;
       $self->{username} = $username;
       $self->{password} = $password;
       $self->{hostname} = $hostname;
       $self->{cvsroot} = $cvsroot;
  -    $self->{url} = ":pserver${optional_args}:${username}:${password}\@" .
  -      "${hostname}:${cvsroot}";
       bless $self, $type;
   }
   
  @@ -45,13 +46,12 @@
   sub build_ext {
       my ($type, $optional_args, $username, $hostname, $cvsroot) = @_;
   
  -    my $self = {};
  +    my $self = Codestriker::Repository->new(":ext${optional_args}:[EMAIL 
PROTECTED]:${cvsroot}");
       $optional_args = "" unless defined $optional_args;
       $self->{optional_args} = $optional_args;
       $self->{username} = $username;
       $self->{hostname} = $hostname;
       $self->{cvsroot} = $cvsroot;
  -    $self->{url} = ":ext${optional_args}:[EMAIL PROTECTED]:${cvsroot}";
       bless $self, $type;
   }
   
  @@ -59,12 +59,11 @@
   sub build_sspi {
       my ($type, $username, $password, $hostname, $cvsroot) = @_;
   
  -    my $self = {};
  +    my $self = Codestriker::Repository->new(":sspi:${username}:[EMAIL 
PROTECTED]:${cvsroot}");
       $self->{optional_args} = "";
       $self->{username} = $username;
       $self->{hostname} = $hostname;
       $self->{cvsroot} = $cvsroot;
  -    $self->{url} = ":sspi:${username}:[EMAIL PROTECTED]:${cvsroot}";
       bless $self, $type;
   }
   
  @@ -83,7 +82,7 @@
       my @args = ();
       push @args, '-q';
       push @args, '-d';
  -    push @args, $self->{url};
  +    push @args, $self->{repository_string};
       push @args, 'co';
       push @args, '-p';
       push @args, '-r';
  @@ -108,21 +107,6 @@
       return $self->{cvsroot};
   }
   
  -# Return a URL which views the specified file and revision.
  -sub getViewUrl ($$$) {
  -    my ($self, $filename, $revision) = @_;
  -
  -    # Lookup the file viewer from the configuration.
  -    my $viewer = $Codestriker::file_viewer->{$self->{url}};
  -    return (defined $viewer) ? $viewer . "/" . $filename : "";
  -}
  -
  -# Return a string representation of this repository.
  -sub toString ($) {
  -    my ($self) = @_;
  -    return $self->{url};
  -}
  -
   # Given a start tag, end tag and a module name, store the text into
   # the specified file handle.  If the size of the diff goes beyond the
   # limit, then return the appropriate error code.
  @@ -147,7 +131,7 @@
       $ENV{'CVS_RSH'} = $Codestriker::ssh if defined $Codestriker::ssh;
   
       Codestriker::execute_command($stdout_fh, $stderr_fh, $Codestriker::cvs,
  -                                 '-q', '-d', $self->{url}, 'rdiff',
  +                                 '-q', '-d', $self->{repository_string}, 
'rdiff',
                                    $extra_options, '-u', '-r', $start_tag,
                                    '-r', $end_tag, $module_name);
       return $Codestriker::OK;
  
  
  
  
  
  Index: ClearCaseSnapshot.pm
  ===================================================================
  RCS file: 
/cvsroot/codestriker/codestriker/lib/Codestriker/Repository/ClearCaseSnapshot.pm,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ClearCaseSnapshot.pm      6 Sep 2008 00:31:48 -0000       1.7
  +++ ClearCaseSnapshot.pm      9 Sep 2008 22:45:43 -0000       1.8
  @@ -14,13 +14,16 @@
   use File::Temp qw/ tempdir /;
   use File::Spec;
   
  +use Codestriker::Repository;
  [EMAIL PROTECTED]::Repository::ClearCaseSnapshot::ISA = 
("Codestriker::Repository");
  +
   # Constructor.
   #   - snapshot_dir:  Absolute path to the location that you access the
   #     files in the snapshot view from.  NOT the view storage directory.
   sub new ($$) {
       my ($type, $snapshot_dir) = @_;
   
  -    my $self = {};
  +    my $self = Codestriker::Repository->new("clearcase:$snapshot_dir");
       $self->{snapshot_dir} = $snapshot_dir;
       bless $self, $type;
   }
  @@ -102,21 +105,6 @@
       return $self->{snapshot_dir};
   }
   
  -# Return a URL which views the specified file and revision.
  -sub getViewUrl ($$$) {
  -    my ($self, $filename, $revision) = @_;
  -
  -    # Lookup the file viewer from the configuration.
  -    my $viewer = $Codestriker::file_viewer->{$self->toString()};
  -    return (defined $viewer) ? $viewer . "/" . $filename : "";
  -}
  -
  -# Return a string representation of this repository.
  -sub toString ($) {
  -    my ($self) = @_;
  -    return "clearcase:" . $self->{snapshot_dir};
  -}
  -
   # Given a start tag, end tag and a module name, store the text into
   # the specified file handle.  If the size of the diff goes beyond the
   # limit, then return the appropriate error code.
  
  
  
  
  
  Index: ClearCaseDynamic.pm
  ===================================================================
  RCS file: 
/cvsroot/codestriker/codestriker/lib/Codestriker/Repository/ClearCaseDynamic.pm,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ClearCaseDynamic.pm       6 Sep 2008 00:31:48 -0000       1.5
  +++ ClearCaseDynamic.pm       9 Sep 2008 22:45:43 -0000       1.6
  @@ -13,6 +13,9 @@
   use strict;
   use File::Spec;
   
  +use Codestriker::Repository;
  [EMAIL PROTECTED]::Repository::ClearCaseDynamic::ISA = 
("Codestriker::Repository");
  +
   # Put this in an eval block so that this becomes an optional dependency for
   # those people who don't use this module.
   eval("use ClearCase::CtCmd");
  @@ -26,8 +29,7 @@
     {
         my ($type, $url) = @_;
   
  -      my $self = {};
  -
  +      my $self = Codestriker::Repository->new("clearcase:dyn:$url");
         $url =~ /([^:]*):(.*)/;
         $self->{dynamic_view_name} = $1;
         $self->{vobs_dir} = $2;
  @@ -107,22 +109,6 @@
       return $self->{vobs_dir};
   }
   
  -# Return a URL which views the specified file and revision.
  -sub getViewUrl ($$$) {
  -    my ($self, $filename, $revision) = @_;
  -
  -    # Lookup the file viewer from the configuration.
  -    my $viewer = $Codestriker::file_viewer->{$self->toString()};
  -    return (defined $viewer) ? $viewer . "/" . $filename : "";
  -}
  -
  -# Return a string representation of this repository.
  -sub toString ($) {
  -    my ($self) = @_;
  -    return "clearcase:dyn:" . $self->{dynamic_view_name} .
  -      ":" . $self->{vobs_dir};
  -}
  -
   # Given a start tag, end tag and a module name, store the text into
   # the specified file handle.  If the size of the diff goes beyond the
   # limit, then return the appropriate error code.
  
  
  
  
  
  Index: Repository.pm
  ===================================================================
  RCS file: Repository.pm
  diff -N Repository.pm
  --- /dev/null 1 Jan 1970 00:00:00 -0000
  +++ Repository.pm     9 Sep 2008 22:45:44 -0000       1.1
  @@ -0,0 +1,54 @@
  
+###############################################################################
  +# Codestriker: Copyright (c) 2001,2002,2003 David Sitsky.  All rights 
reserved.
  +# [EMAIL PROTECTED]
  +#
  +# This program is free software; you can redistribute it and modify it under
  +# the terms of the GPL.
  +
  +# Base repository object.
  +
  +package Codestriker::Repository;
  +
  +# Create a new repository instance.
  +sub new {
  +    my ($type, $repository_string) = @_;
  +
  +    my $self = {};
  +    $self->{repository_string} = $repository_string;
  +    return bless $self, $type;
  +}
  +
  +# Return a URL which views the specified file and revision.
  +sub getViewUrl ($$$) {
  +    my ($self, $filename, $revision) = @_;
  +
  +    # Lookup the file viewer from the configuration.
  +    my $viewer = $Codestriker::file_viewer->{$self->toString()};
  +
  +    # Check in case the user has specified it using the repository string
  +    # instead of the display string.
  +    if (! (defined $viewer)) {
  +        $viewer = $Codestriker::file_viewer->{$self->{repository_string}};
  +    }
  +
  +    # If there are CGI parameters in the URL then the file name must
  +    # be inserted before them; otherwise we simply append it to the end.
  +    if (defined $viewer) {
  +        if ($viewer =~ /^([^?]+)(\?.*)$/ ) {
  +            $viewer = $1 . $filename . $2;
  +        }
  +        else {
  +            $viewer .= '/' . $filename;
  +        }
  +    }
  +
  +    return defined $viewer ? $viewer : "";
  +}
  +
  +# Return a string representation of this repository.
  +sub toString ($) {
  +    my ($self) = @_;
  +    return $self->{repository_string};
  +}
  +
  +1;
  
  
  
  
  
  Index: codestriker.sgml
  ===================================================================
  RCS file: /cvsroot/codestriker/codestriker/doc/codestriker.sgml,v
  retrieving revision 1.71
  retrieving revision 1.72
  diff -u -r1.71 -r1.72
  --- codestriker.sgml  27 Aug 2008 09:51:44 -0000      1.71
  +++ codestriker.sgml  9 Sep 2008 22:45:44 -0000       1.72
  @@ -577,11 +577,16 @@
          During a review, it is sometimes beneficial to see the
          revision history of a file, such as information provided by
          CVSweb or ViewCVS.  You can specify a mapping of repository
  -       names to URLs for this purpose, for example:
  +       names to URLs for this purpose. When viewing reviews, links
  +          from filenames will be mapped to these URLs, to obtain
  +          revision log information for that file.  The filename will
  +          be appended to the end of the URL, before any CGI parameters.
          <programlisting>
   $file_viewer =
   {
  -    '/home/sits/cvs' => 'http://localhost/cgi-bin/cvsweb.cgi'
  +    '/home/sits/cvs' => 'http://localhost/cgi-bin/cvsweb.cgi',
  +    'svn:file:///var/svn/project/trunk' =>
  +        
'http://some.whe.re/cgi-bin/viewvc.cgi/trunk/?root=Project&view=markup'
   };
          </programlisting>
          This indicates that for any review made against the
  
  
  
  
  
  Index: codestriker.conf
  ===================================================================
  RCS file: /cvsroot/codestriker/codestriker/codestriker.conf,v
  retrieving revision 1.107
  retrieving revision 1.108
  diff -u -r1.107 -r1.108
  --- codestriker.conf  8 Sep 2008 10:40:30 -0000       1.107
  +++ codestriker.conf  9 Sep 2008 22:45:44 -0000       1.108
  @@ -39,7 +39,7 @@
   # system metric reports.  If this remains commented out, then no
   # authentication will be required, and users have full access to the
   # system.
  -#$admin_users = [ '[EMAIL PROTECTED]' ];
  +$admin_users = [ '[EMAIL PROTECTED]' ];
   #$admin_users = [ '[EMAIL PROTECTED]', '[EMAIL PROTECTED]' ];
   
   # Location of the mailing host.  This is used when sending out codestriker
  @@ -233,9 +233,13 @@
   # not required for remote CVSweb and ViewCVS repositories, as they are
   # viewers themselves.  When viewing reviews, links from filenames will be
   # mapped to these URLs, to obtain revision log information for that file.
  +# The filename will be appended to the end of the URL, before any CGI
  +# parameters.
   $file_viewer =
   {
  -    '/home/sits/cvs' => 'http://localhost/cgi-bin/cvsweb.cgi'
  +    '/home/sits/cvs' => 'http://localhost/cgi-bin/cvsweb.cgi',
  +    'svn:file:///var/svn/project/trunk' =>
  +        
'http://some.whe.re/cgi-bin/viewvc.cgi/trunk/?root=Project&view=markup'
   };
   
   # Exclude these file types from review topics.   
  
  
  
  
  
  Index: CHANGELOG
  ===================================================================
  RCS file: /cvsroot/codestriker/codestriker/CHANGELOG,v
  retrieving revision 1.266
  retrieving revision 1.267
  diff -u -r1.266 -r1.267
  --- CHANGELOG 8 Sep 2008 10:40:30 -0000       1.266
  +++ CHANGELOG 9 Sep 2008 22:45:44 -0000       1.267
  @@ -39,7 +39,10 @@
     disappear automatically when the cursor is moved off the (?) link.
     
   * Fixed a bug where Subversion diffs with binary files that contained
  -  property changes were not handled correctly.  
  +  property changes were not handled correctly.
  +
  +* Make $file_viewer more flexible so it can handle file mapping URLs
  +  which have CGI parameters.  Submitted by [EMAIL PROTECTED]
   
   Version 1.9.6
   
  
  
  

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Codestriker-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/codestriker-commits

Reply via email to