Newbie Where to start perhaps a hash-table is what I need to learn about ?

2012-07-03 Thread Phil Pinkerton
I was given a project that seems to require Perl

I could use a sample just to extract a list of names associated with a group or 
repo and print them.

1) Assigned a task to extract data fron a text file.
2) Output file needs to be very specific, and created monthly
3) tried doing in korn shell too complex
4) Figured Perl my best option, but don't know Perl
5) Got  the Modern Perl in PDF format
6) Installed Strawberry Perl

Output format is simple ??, but extracting the data and printing it  I haven't 
a clue where to start.
 ( I am not trying to get someone to write this for me, just a simple extract 
and print example and point me in the right direction )

Desired output:

[code]
UserName~RepoName/PATH~GroupName~Access

(Note: _admn is a special case and repeated in every Repo so its output would 
look like

UserName~~GroupName~Read Write Access

Access need to be spelled out r = Read only, rw = Read Write)
[/code]

Example Input File:

[code]
#[groups]
svnAdmins_admn = johnl1, bill4, saras2
auditors_cgrp = dave101
other_cgrp = gullapp, pughj, frayerm1, naidue, ramseym4, kochw, leej95,
joness22, davidsm9
build_cgrp = mohameh, johnsod5
foospecial_cgrp = browng3, mintzh, scottj11, svnbeta
barspecial_cgrp = lambt4, cheny1, locklie, nicholk9
repo1_devs = ritched2, appalas, bohnerc, davidss1, goulett2, kriegn, kumara19,
kumarr19
repo1_owners = nadign, pengh1, poojary, predovc, settyp, shirwan
repo1_readers = mandeh1, dinwidg, pals, rajendk1, pantk
repo2_devs = yonuta1, cmbuild, carmacs, greeng1, rickg
repo2_owners = sundarb1, dhayagp, thoomuv
repo2_readers = buschm2, todorob, shukkun, enjetyv1

#[Repo access rules]

[repo1:/]
@repo1_devs = r
@repo1_owners = rw
@repo1_readers = r
@svnAdmins_admn = rw
@auditors_cgrp = r
@other_cgrp = r
@build_cgrp = r
@foospecial_cgrp = r

[repo1:/branches]
@repo1_devs = rw
@foospecial_cgrp = rw

[repo1:/tags]
@foospecial_cgrp = rw

[repo1:/trunk]
@repo1_devs = rw

[repo1:/trunk/project1]
@repo1_devs = rw
@other_cgrp = rw

[repo1:/trunk/project2]
@foospecial_cgrp = rw
@repo1_devs = rw

[repo1:/trunk/project3]
@repo1_devs = rw
@build_cgrp = rw

[repo2:/]
@repo1_devs = r
@repo1_owners = rw
@repo1_readers = r
@svnAdmins_admn = rw
@auditors_cgrp = r
@foospecial_cgrp = r

[repo2:/branches]
@repo1_devs = rw

[repo2:/tags]
@foospecial_cgrp = rw

[repo2:/trunk]
@repo1_devs = rw

[repo2:/trunk/project1]
@repo2_devs = rw
@other_cgrp = rw

[repo2:/trunk/project2/foo]
@repo1_devs = rw
@foospecial_cgrp = rw
@barspecial_cgrp = r

[repo2:/trunk/project3/foo/bar]
@repo1_devs = rw
@build_cgrp = rw
@barspecial_cgrp = rw

[/code]

phil


--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/




Re: Newbie Where to start perhaps a hash-table is what I need to learn about ?

2012-07-03 Thread David Precious
On Tue, 3 Jul 2012 09:47:00 -0400
Phil Pinkerton  wrote:

> I was given a project that seems to require Perl
> 
> I could use a sample just to extract a list of names associated with
> a group or repo and print them.
> 
> 1) Assigned a task to extract data fron a text file.
> 2) Output file needs to be very specific, and created monthly
> 3) tried doing in korn shell too complex
> 4) Figured Perl my best option, but don't know Perl
> 5) Got  the Modern Perl in PDF format
> 6) Installed Strawberry Perl
> 
> Output format is simple ??, but extracting the data and printing it
> I haven't a clue where to start. ( I am not trying to get someone to
> write this for me, just a simple extract and print example and point
> me in the right direction )

First pointer - a lot of things you want to do in Perl will be a lot
easier if you consult CPAN to see if someone has done this before and
shared reusable code which will make your life easier.

In this case, you've not described what the input data is, but to me it
looks very much like a Subversion access control file.  So, with that
in mind, I searched CPAN, and found SVN::Access:

https://metacpan.org/module/SVN::Access

Ahah - looks like it takes all the hard work out of things for you -
it'll take care of the parsing, and let you just get at the data.

So, glancing at its docs and whipping something up:

[code]
#!/usr/bin/perl

use strict;
use SVN::Access;
my $acl = SVN::Access->new( acl_file => 'data' );

# Walk through the resources in the ACL file:
for my $repopath ($acl->resources) {
# For this resource, find out what authorisations exist:
for my $auth ($repopath->authorized) {

# $repopath->authorized gives us hashrefs of group => perms
# TODO: I don't know if it might also give individual users, if
# had per-user grants.
my ($group, $perms) = each %$auth;

if ($group =~ s/^@//) {
# For each group, list out the members, along with the repo
# permissions

for my $user ($acl->group($group)->members) {
say join '~', $user, $repopath->name, $group, $perms;
}
} else {
die "Can't handle individual user permissions!";
}
}
}
[/code]

If you install SVN::Access, the above should work for you, and should
produce mostly what you need, e.g.:

ritched2~repo1:/~repo1_devs~r
appalas~repo1:/~repo1_devs~r

Handing the _admn groups as a special case is left as an exercise to
you, but should be reasonably easy given the above as a starting point.



-- 
David Precious ("bigpresh") 
http://www.preshweb.co.uk/ www.preshweb.co.uk/twitter
www.preshweb.co.uk/linkedinwww.preshweb.co.uk/facebook
www.preshweb.co.uk/cpanwww.preshweb.co.uk/github


-- 
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/




Re: Newbie Where to start perhaps a hash-table is what I need to learn about ?

2012-07-04 Thread Phil Pinkerton
Very nice to know about CPAN.

got a syntax error though with your script

syntax error at ./getACLinfo.pl line 51, near "say join"
Execution of ./getACLinfo.pl aborted due to compilation errors.

[code]
#!/usr/bin/perl

use strict;
use SVN::Access;
my $acl = SVN::Access->new( acl_file => 'data' );

# Walk through the resources in the ACL file:
for my $repopath ($acl->resources) {
   # For this resource, find out what authorisations exist:
   for my $auth ($repopath->authorized) {

   # $repopath->authorized gives us hashrefs of group => perms
   # TODO: I don't know if it might also give individual users, if
   # had per-user grants.
   my ($group, $perms) = each %$auth;

   if ($group =~ s/^@//) {
   # For each group, list out the members, along with the repo
   # permissions

   for my $user ($acl->group($group)->members) {
   say join '~', $user, $repopath->name, $group, $perms;
   }
   } else {
   die "Can't handle individual user permissions!";
   }
   }
}
[/code]

On Jul 3, 2012, at 11:25 AM, David Precious wrote:

> On Tue, 3 Jul 2012 09:47:00 -0400
> Phil Pinkerton  wrote:
> 
>> I was given a project that seems to require Perl
>> 
>> I could use a sample just to extract a list of names associated with
>> a group or repo and print them.
>> 
>> 1) Assigned a task to extract data fron a text file.
>> 2) Output file needs to be very specific, and created monthly
>> 3) tried doing in korn shell too complex
>> 4) Figured Perl my best option, but don't know Perl
>> 5) Got  the Modern Perl in PDF format
>> 6) Installed Strawberry Perl
>> 
>> Output format is simple ??, but extracting the data and printing it
>> I haven't a clue where to start. ( I am not trying to get someone to
>> write this for me, just a simple extract and print example and point
>> me in the right direction )
> 
> First pointer - a lot of things you want to do in Perl will be a lot
> easier if you consult CPAN to see if someone has done this before and
> shared reusable code which will make your life easier.
> 
> In this case, you've not described what the input data is, but to me it
> looks very much like a Subversion access control file.  So, with that
> in mind, I searched CPAN, and found SVN::Access:
> 
> https://metacpan.org/module/SVN::Access
> 
> Ahah - looks like it takes all the hard work out of things for you -
> it'll take care of the parsing, and let you just get at the data.
> 
> So, glancing at its docs and whipping something up:
> 
> [code]
> #!/usr/bin/perl
> 
> use strict;
> use SVN::Access;
> my $acl = SVN::Access->new( acl_file => 'data' );
> 
> # Walk through the resources in the ACL file:
> for my $repopath ($acl->resources) {
># For this resource, find out what authorisations exist:
>for my $auth ($repopath->authorized) {
> 
># $repopath->authorized gives us hashrefs of group => perms
># TODO: I don't know if it might also give individual users, if
># had per-user grants.
>my ($group, $perms) = each %$auth;
> 
>if ($group =~ s/^@//) {
># For each group, list out the members, along with the repo
># permissions
> 
>for my $user ($acl->group($group)->members) {
>say join '~', $user, $repopath->name, $group, $perms;
>}
>} else {
>die "Can't handle individual user permissions!";
>}
>}
> }
> [/code]
> 
> If you install SVN::Access, the above should work for you, and should
> produce mostly what you need, e.g.:
> 
> ritched2~repo1:/~repo1_devs~r
> appalas~repo1:/~repo1_devs~r
> 
> Handing the _admn groups as a special case is left as an exercise to
> you, but should be reasonably easy given the above as a starting point.
> 
> 
> 
> -- 
> David Precious ("bigpresh") 
> http://www.preshweb.co.uk/ www.preshweb.co.uk/twitter
> www.preshweb.co.uk/linkedinwww.preshweb.co.uk/facebook
> www.preshweb.co.uk/cpanwww.preshweb.co.uk/github
> 
> 
> -- 
> To unsubscribe, e-mail: beginners-unsubscr...@perl.org
> For additional commands, e-mail: beginners-h...@perl.org
> http://learn.perl.org/
> 
> 


-- 
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/




Re: Newbie Where to start perhaps a hash-table is what I need to learn about ?

2012-07-04 Thread Chris Charley



"Phil Pinkerton"  wrote in message 
news:7a962da1-a5fb-4046-bbf5-f888dd715...@gmail.com...

Very nice to know about CPAN.

got a syntax error though with your script

syntax error at ./getACLinfo.pl line 51, near "say join"
Execution of ./getACLinfo.pl aborted due to compilation errors.

[code]
#!/usr/bin/perl

use strict;
use SVN::Access;
my $acl = SVN::Access->new( acl_file => 'data' );

# Walk through the resources in the ACL file:
for my $repopath ($acl->resources) {
  # For this resource, find out what authorisations exist:
  for my $auth ($repopath->authorized) {

  # $repopath->authorized gives us hashrefs of group => perms
  # TODO: I don't know if it might also give individual users, if
  # had per-user grants.
  my ($group, $perms) = each %$auth;

  if ($group =~ s/^@//) {
  # For each group, list out the members, along with the repo
  # permissions

  for my $user ($acl->group($group)->members) {
  say join '~', $user, $repopath->name, $group, $perms;
  }
  } else {
  die "Can't handle individual user permissions!";
  }
  }
}
[/code]


Hello Phil,

Your script needs to use 5.010 or better to use the 'say' function.

Right after the 'use strict;' line, enter 'use 5.010;' or
a newer version if that is what you have.

Or, replace say with 'print':

print join('~', $user, $repopath->name, $group, $perms), "\n";

Chris

--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/




Re: Newbie Where to start perhaps a hash-table is what I need to learn about ?

2012-07-04 Thread David Precious
On Wed, 4 Jul 2012 17:01:35 -0400
Phil Pinkerton  wrote:

> Very nice to know about CPAN.

IMO, CPAN is one of Perl's strongest features :)

 
> got a syntax error though with your script
> 
> syntax error at ./getACLinfo.pl line 51, near "say join"
> Execution of ./getACLinfo.pl aborted due to compilation errors.

Whoops - as Chris pointed out, 'say' requires perl 5.10 or newer; I
should have included 'use 5.010' in the script to indicate that, but
forgot to (I have $PERL5OPT set to '-M5.010' on most boxes).

Chris's mail contains full instructions to work round that problem.


-- 
David Precious ("bigpresh") 
http://www.preshweb.co.uk/ www.preshweb.co.uk/twitter
www.preshweb.co.uk/linkedinwww.preshweb.co.uk/facebook
www.preshweb.co.uk/cpanwww.preshweb.co.uk/github



-- 
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/




Re: Newbie Where to start perhaps a hash-table is what I need to learn about ?

2012-07-04 Thread Phil Pinkerton
Wow I am impressed on the 4th of July no-less

I have revision 5 version 14 subversion 2 on linux  and v5.12.3 on my mac

On Jul 4, 2012, at 5:46 PM, Chris Charley wrote:

> 
> 
> "Phil Pinkerton"  wrote in message 
> news:7a962da1-a5fb-4046-bbf5-f888dd715...@gmail.com...
>> Very nice to know about CPAN.
>> 
>> got a syntax error though with your script
>> 
>> syntax error at ./getACLinfo.pl line 51, near "say join"
>> Execution of ./getACLinfo.pl aborted due to compilation errors.
>> 
>> [code]
>> #!/usr/bin/perl
>> 
>> use strict;
>> use SVN::Access;
>> my $acl = SVN::Access->new( acl_file => 'data' );
>> 
>> # Walk through the resources in the ACL file:
>> for my $repopath ($acl->resources) {
>>  # For this resource, find out what authorisations exist:
>>  for my $auth ($repopath->authorized) {
>> 
>>  # $repopath->authorized gives us hashrefs of group => perms
>>  # TODO: I don't know if it might also give individual users, if
>>  # had per-user grants.
>>  my ($group, $perms) = each %$auth;
>> 
>>  if ($group =~ s/^@//) {
>>  # For each group, list out the members, along with the repo
>>  # permissions
>> 
>>  for my $user ($acl->group($group)->members) {
>>  say join '~', $user, $repopath->name, $group, $perms;
>>  }
>>  } else {
>>  die "Can't handle individual user permissions!";
>>  }
>>  }
>> }
>> [/code]
> 
> Hello Phil,
> 
> Your script needs to use 5.010 or better to use the 'say' function.
> 
> Right after the 'use strict;' line, enter 'use 5.010;' or
> a newer version if that is what you have.
> 
> Or, replace say with 'print':
> 
> print join('~', $user, $repopath->name, $group, $perms), "\n";
> 
> Chris
> 
> -- 
> To unsubscribe, e-mail: beginners-unsubscr...@perl.org
> For additional commands, e-mail: beginners-h...@perl.org
> http://learn.perl.org/
> 
> 


--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/




Re: Newbie Where to start perhaps a hash-table is what I need to learn about ?

2012-07-04 Thread Phil Pinkerton

> 
> "Phil Pinkerton"  wrote in message 
> news:7a962da1-a5fb-4046-bbf5-f888dd715...@gmail.com...
>> Very nice to know about CPAN.
>> 
>> got a syntax error though with your script
>> 
>> syntax error at ./getACLinfo.pl line 51, near "say join"
>> Execution of ./getACLinfo.pl aborted due to compilation errors.
>> 
>> [code]
>> #!/usr/bin/perl
>> 
>> use strict;
>> use SVN::Access;
>> my $acl = SVN::Access->new( acl_file => 'data' );
>> 
>> # Walk through the resources in the ACL file:
>> for my $repopath ($acl->resources) {
>>  # For this resource, find out what authorisations exist:
>>  for my $auth ($repopath->authorized) {
>> 
>>  # $repopath->authorized gives us hashrefs of group => perms
>>  # TODO: I don't know if it might also give individual users, if
>>  # had per-user grants.
>>  my ($group, $perms) = each %$auth;
>> 
>>  if ($group =~ s/^@//) {
>>  # For each group, list out the members, along with the repo
>>  # permissions
>> 
>>  for my $user ($acl->group($group)->members) {
>>  say join '~', $user, $repopath->name, $group, $perms;
>>  }
>>  } else {
>>  die "Can't handle individual user permissions!";
>>  }
>>  }
>> }
>> [/code]
> 
> Hello Phil,
> 
> Your script needs to use 5.010 or better to use the 'say' function.
> 
> Right after the 'use strict;' line, enter 'use 5.010;' or
> a newer version if that is what you have.
> 
added use 5.12.3

made some progress but still have errors
$ ./getACLinfo.pl 
Use of uninitialized value $current_resource in string eq at 
/Library/Perl/5.12/SVN/Access.pm line 70,  line 3.
Use of uninitialized value $current_resource in string eq at 
/Library/Perl/5.12/SVN/Access.pm line 73,  line 3.
Use of uninitialized value $resource_name in string eq at 
/Library/Perl/5.12/SVN/Access.pm line 259,  line 3.
Use of uninitialized value $resource_name in pattern match (m//) at 
/Library/Perl/5.12/SVN/Access.pm line 265,  line 3.
Use of uninitialized value $resource_name in concatenation (.) or string at 
/Library/Perl/5.12/SVN/Access.pm line 266,  line 3.
Invalid resource format in ! (format 'repo:/path')!

#!/usr/bin/perl
[code]
use strict;
use 5.12.3;
use SVN::Access;
my $acl = SVN::Access->new( acl_file => 
'/Users/pnkerton/scripts/ACLexample.txt' );

# Walk through the resources in the ACL file:
for my $repopath ($acl->resources) {
   # For this resource, find out what authorisations exist:
   for my $auth ($repopath->authorized) {

   # $repopath->authorized gives us hashrefs of group => perms
   # TODO: I don't know if it might also give individual users, if
   # had per-user grants.
   my ($group, $perms) = each %$auth;

   if ($group =~ s/^@//) {
   # For each group, list out the members, along with the repo
   # permissions

   for my $user ($acl->group($group)->members) {
   say join "~", $user, $repopath->name, $group, $perms;
   }
   } else {
   die "Can't handle individual user permissions!";
   }
   }
}
[/code]


--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/




Re: Newbie Where to start perhaps a hash-table is what I need to learn about ?

2012-07-05 Thread Phil Pinkerton

On Jul 4, 2012, at 6:02 PM, David Precious wrote:

> On Wed, 4 Jul 2012 17:01:35 -0400
> Phil Pinkerton  wrote:
> 
>> Very nice to know about CPAN.
> 
> IMO, CPAN is one of Perl's strongest features :)
> 
> 
>> got a syntax error though with your script
>> 
>> syntax error at ./getACLinfo.pl line 51, near "say join"
>> Execution of ./getACLinfo.pl aborted due to compilation errors.
> 
> Whoops - as Chris pointed out, 'say' requires perl 5.10 or newer; I
> should have included 'use 5.010' in the script to indicate that, but
> forgot to (I have $PERL5OPT set to '-M5.010' on most boxes).
> 
> Chris's mail contains full instructions to work round that problem.
> 

ok using the example input file I got errors

Use of uninitialized value $current_resource in string eq at 
/Library/Perl/5.12/SVN/Access.pm line 70,  line 3.
Use of uninitialized value $current_resource in string eq at 
/Library/Perl/5.12/SVN/Access.pm line 73,  line 3.
Use of uninitialized value $resource_name in string eq at 
/Library/Perl/5.12/SVN/Access.pm line 259,  line 3.
Use of uninitialized value $resource_name in pattern match (m//) at 
/Library/Perl/5.12/SVN/Access.pm line 265,  line 3.
Use of uninitialized value $resource_name in concatenation (.) or string at 
/Library/Perl/5.12/SVN/Access.pm line 266,  line 3.
Invalid resource format in ! (format 'repo:/path')!

but substituting a copy of our actual svn access file I get

Can't add new group cvs_cscda_owners: group already exists!

So I may have a format issue with the example inout file

phil


--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/




Re: Newbie Where to start perhaps a hash-table is what I need to learn about ?

2012-07-05 Thread Phil Pinkerton

On Jul 4, 2012, at 5:46 PM, Chris Charley wrote:

> 
> 
> "Phil Pinkerton"  wrote in message 
> news:7a962da1-a5fb-4046-bbf5-f888dd715...@gmail.com...
>> Very nice to know about CPAN.
>> 
>> got a syntax error though with your script
>> 
>> syntax error at ./getACLinfo.pl line 51, near "say join"
>> Execution of ./getACLinfo.pl aborted due to compilation errors.
>> 
>> [code]
>> #!/usr/bin/perl
>> 
>> use strict;
>> use SVN::Access;
>> my $acl = SVN::Access->new( acl_file => 'data' );
>> 
>> # Walk through the resources in the ACL file:
>> for my $repopath ($acl->resources) {
>>  # For this resource, find out what authorisations exist:
>>  for my $auth ($repopath->authorized) {
>> 
>>  # $repopath->authorized gives us hashrefs of group => perms
>>  # TODO: I don't know if it might also give individual users, if
>>  # had per-user grants.
>>  my ($group, $perms) = each %$auth;
>> 
>>  if ($group =~ s/^@//) {
>>  # For each group, list out the members, along with the repo
>>  # permissions
>> 
>>  for my $user ($acl->group($group)->members) {
>>  say join '~', $user, $repopath->name, $group, $perms;
>>  }
>>  } else {
>>  die "Can't handle individual user permissions!";
>>  }
>>  }
>> }
>> [/code]
> 
> Hello Phil,
> 
> Your script needs to use 5.010 or better to use the 'say' function.
> 
> Right after the 'use strict;' line, enter 'use 5.010;' or
> a newer version if that is what you have.
> 
> Or, replace say with 'print':
> 
> print join('~', $user, $repopath->name, $group, $perms), "\n";
> 
> Chris

After switching input files It partially works but only for the first 
repository in the access file?





--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/




Re: Newbie Where to start perhaps a hash-table is what I need to learn about ?

2012-07-05 Thread David Precious
On Thu, 5 Jul 2012 09:30:01 -0400
Phil Pinkerton  wrote:
> ok using the example input file I got errors
> 
> Use of uninitialized value $current_resource in string eq
> at /Library/Perl/5.12/SVN/Access.pm line 70,  line 3.
[...]
> Invalid resource format in ! (format 'repo:/path')!

Ah, I recall now I had to uncomment the "#[groups]" line in the example
input you originally supplied before the script would work.


> but substituting a copy of our actual svn access file I get
> 
> Can't add new group cvs_cscda_owners: group already exists!
> 
> So I may have a format issue with the example inout file

Yeah, sounds like there's something potentially wrong with the input
file - have you perhaps defined the cvs_cscda_owners group twice?



-- 
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/




Re: Newbie Where to start perhaps a hash-table is what I need to learn about ?

2012-07-05 Thread Phil Pinkerton

On Jul 5, 2012, at 10:46 AM, David Precious wrote:

> On Thu, 5 Jul 2012 09:30:01 -0400
> Phil Pinkerton  wrote:
>> ok using the example input file I got errors
>> 
>> Use of uninitialized value $current_resource in string eq
>> at /Library/Perl/5.12/SVN/Access.pm line 70,  line 3.
> [...]
>> Invalid resource format in ! (format 'repo:/path')!
> 
> Ah, I recall now I had to uncomment the "#[groups]" line in the example
> input you originally supplied before the script would work.
> 
> 
>> but substituting a copy of our actual svn access file I get
>> 
>> Can't add new group cvs_cscda_owners: group already exists!
>> 
>> So I may have a format issue with the example inout file
> 
> Yeah, sounds like there's something potentially wrong with the input
> file - have you perhaps defined the cvs_cscda_owners group twice?
> 

Yes actually there were several duplicates. Once they were all removed the 
script seemed to work but just for the first Repository entry ?

Not sure what is missing since it found all those duplicates but only seemed to 
actually complete just the first repo

The final message after listing the last entry of the first repository:

"Can't handle individual user permissions! at line 60"  of the script ( which 
is just that message )

die " Can't handle individual user permissions!";


--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/




Re: Newbie Where to start perhaps a hash-table is what I need to learn about ?

2012-07-05 Thread Phil Pinkerton

On Jul 5, 2012, at 10:46 AM, David Precious wrote:

> On Thu, 5 Jul 2012 09:30:01 -0400
> Phil Pinkerton  wrote:
>> ok using the example input file I got errors
>> 
>> Use of uninitialized value $current_resource in string eq
>> at /Library/Perl/5.12/SVN/Access.pm line 70,  line 3.
> [...]
>> Invalid resource format in ! (format 'repo:/path')!
> 
> Ah, I recall now I had to uncomment the "#[groups]" line in the example
> input you originally supplied before the script would work.
> 
> 
>> but substituting a copy of our actual svn access file I get
>> 
>> Can't add new group cvs_cscda_owners: group already exists!
>> 
>> So I may have a format issue with the example inout file
> 
> Yeah, sounds like there's something potentially wrong with the input
> file - have you perhaps defined the cvs_cscda_owners group twice?
> 


I think I found the problem at first I though it was the double spaces ( lines) 
between the repositories, but
after I commented out what listed properly I re-ran and got further down the 
list.

What I saw was a pattern that was if a repository had subdirectories listed but 
no group assigned the script stopped
When I commented those lines out or added groups  it continued.

example:

[code]
[foo::/]
@group = rw
@group2 = r

[foo:/branches]
[foo;/tags]
[foo:/trunk

'script stops here' <

example 2:

[/code]

[code]
[foo::/]
@group = rw
@group2 = r

[foo:/branches]
@group3 = rw
@group1 = r

[foo;/tags]
@grou4 = rw
@group2 = rrw

[foo:/trunk
@group5 = rw
@group6 = r

'script continues ok' < ---
[/code]


phil





--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/




Re: Newbie Where to start perhaps a hash-table is what I need to learn about ?

2012-07-05 Thread Phil Pinkerton

On Jul 5, 2012, at 10:46 AM, David Precious wrote:

> On Thu, 5 Jul 2012 09:30:01 -0400
> Phil Pinkerton  wrote:
>> ok using the example input file I got errors
>> 
>> Use of uninitialized value $current_resource in string eq
>> at /Library/Perl/5.12/SVN/Access.pm line 70,  line 3.
> [...]
>> Invalid resource format in ! (format 'repo:/path')!
> 
> Ah, I recall now I had to uncomment the "#[groups]" line in the example
> input you originally supplied before the script would work.
> 
> 
>> but substituting a copy of our actual svn access file I get
>> 
>> Can't add new group cvs_cscda_owners: group already exists!
>> 
>> So I may have a format issue with the example inout file
> 
> Yeah, sounds like there's something potentially wrong with the input
> file - have you perhaps defined the cvs_cscda_owners group twice?
> 

The script also stops when a single user is entered instead of a group

This should not happen

example:

[code]

[foo:/]
@group1 = rw
@group2 = rw

[foo:/trunk]
userID = r    I believe for Subversion this is a valid entry  >  but 
script stops when not a group

[/code]

phil


--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/