new sugar -- keysubdirs as groups. TODO: add appropriate commented entry to Gitolite::Rc.pm also
This commit is contained in:
parent
4e25a8acd1
commit
5ebb981efa
31
src/syntactic-sugar/keysubdirs-as-groups
Executable file
31
src/syntactic-sugar/keysubdirs-as-groups
Executable file
|
@ -0,0 +1,31 @@
|
|||
# vim: syn=perl:
|
||||
|
||||
# "sugar script" (syntactic sugar helper) for gitolite3
|
||||
|
||||
# Enabling this script in the rc file allows you to use subdirectories in
|
||||
# keydir as group names. The last component other than keydir itself will be
|
||||
# taken as the group name.
|
||||
|
||||
sub sugar_script {
|
||||
my $lines = shift;
|
||||
|
||||
my @out = @{ $lines };
|
||||
unshift @out, groupnames();
|
||||
|
||||
return \@out;
|
||||
}
|
||||
|
||||
sub groupnames {
|
||||
my @out = ();
|
||||
my %members = ();
|
||||
for my $pk (`find ../keydir/ -name "*.pub"`) {
|
||||
next unless $pk =~ m(.*/([^/]+)/([^/]+)\.pub$);
|
||||
next if $1 eq 'keydir';
|
||||
$members{$1} .= " $2";
|
||||
}
|
||||
for my $m (sort keys %members) {
|
||||
push @out, "\@$m =" . $members{$m};
|
||||
}
|
||||
|
||||
return @out;
|
||||
}
|
Loading…
Reference in a new issue