ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/src/Utilities/CVSmodule.pm
(Generate patch)

Comparing COMP/SCRAM/src/Utilities/CVSmodule.pm (file contents):
Revision 1.3.4.2 by williamc, Thu Aug 24 13:29:41 2000 UTC vs.
Revision 1.12 by muzaffar, Fri Jan 14 17:36:43 2011 UTC

# Line 1 | Line 1
1 < # CVS wrapper
2 < # -----------
3 < # Configure the CVSmodule object to access a CVS repository and then
4 < # invokecvs() commands as required.
5 < #
6 < # Interface
7 < # ---------
8 < # new()          : A new cvs modules
9 < # set_base(base) : Set a base from which to read (i.e server name/path)
10 < # set_auth(type) : Set authentication method e.g pserver, kserver, ext etc.
11 < # set_user(username) : set a username for authentication if required
12 < # set_passbase(file) : Override the default CVS_PASSFILE for pserver client
13 < # set_passkey(encrypted) : For pserver method - set a password
14 < #                          (encrypted)
15 < # invokecvs(@cmds)  : invoke a cvs command supplied in @cmds
16 < # repository            : return a string to indicate the repository
17 < #                      
1 > =head1 NAME
2 >
3 > Utilities::CVSmodule - A wrapper around CVS.
4 >
5 > =head1 SYNOPSIS
6 >
7 >        my $obj = Utilities::CVSmodule->new();
8 >
9 > =head1 DESCRIPTION
10 >
11 > Configure the CVSmodule object to access a CVS repository and then
12 > invokecvs() commands as required.
13 >
14 > =head1 METHODS
15 >
16 > =over
17 >
18 > =item C<new()>
19 >
20 > A new cvs modules object.
21 >
22 > =item C<set_base(base)>
23 >
24 > Set a base from which to read (i.e server name/path).
25 >
26 > =item C<set_auth(type)>
27 >
28 > Set authentication method e.g pserver, kserver, ext etc.
29 >
30 > =item C<set_user(username)>
31 >
32 > Set a username for authentication if required.
33 >
34 > =item C<set_passbase(file)>
35 >
36 > Override the default CVS_PASSFILE for pserver client.
37 >
38 > =item C<set_passkey(encrypted)>
39 >
40 > For pserver method - set a password (encrypted).
41 >
42 > =item C<invokecvs(@cmds)>
43 >
44 > Invoke a cvs command supplied in @cmds.
45 >
46 > =item C<repository()>
47 >
48 > Return a string to indicate the repository.
49 >
50 > =cut
51 >
52 > =back
53 >
54 > =head1 AUTHOR
55 >
56 > Originally written by Christopher Williams.
57 >
58 > =head1 MAINTAINER
59 >
60 > Shaun ASHBY
61 >
62 > =cut
63 >
64   package Utilities::CVSmodule;
65   require Exporter;
66   use Utilities::AddDir;
# Line 27 | Line 73 | sub new {
73          bless $self, $class;
74          $self->{myenv}={};
75          $self->{cvs}='cvs';
30 #       $self->{cvs}='/usr/local/bin/cvs';
76          # Reset All variables
77          $self->{auth}="";
78          $self->{passkey}="";
79          $self->{user}="";
80          $self->{base}="";
81 < #       $self->{passbase}=$ENV{HOME}."/.cvspass";
37 <        $self->set_passbase("/tmp/CVSmodule/.cvspass");
81 >        $self->set_passbase("/tmp/".$>."CVSmodule/.cvspass");
82          return $self;
83   }
84  
# Line 56 | Line 100 | sub set_passkey {
100          my $file=$self->{passbase};
101          SCRAMUtils::updatelookup($file,
102                  $self->{cvsroot}." ", $self->{passkey});
103 < }
103 >        }
104  
105   sub set_base {
106          $self=shift;
# Line 79 | Line 123 | sub set_auth {
123          $self=shift;
124          $self->{auth}=shift;
125          $self->{auth}=~s/^\:*(.*)\:*/\:$1\:/;
126 +        
127          $self->_updatecvsroot();
128   }
129  
# Line 91 | Line 136 | sub env {
136   sub invokecvs {
137          $self=shift;
138          @cmds=@_;
139 <        #make sure weve got the right environment
139 >        # make sure weve got the right environment
140          foreach $key ( %{$self->{myenv}} ) {
141            $ENV{$key}=$self->{myenv}{$key};
142          }
143 <        #now perform the cvs command
144 <        #print ( join ' ', ( $self->{cvs}, "-d", $self->{cvsroot}, @cmds, "\n" ));
100 <        system( "$self->{cvs}" , "-d", "$self->{cvsroot}", @cmds );
143 >        # now perform the cvs command
144 >        return ( system( "$self->{cvs}" ,"-Q", "-d", "$self->{cvsroot}", @cmds ));
145   }
146  
147   sub _updatecvsroot {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines