Merge teemu/topic/wildrepo_description_and_owner into wildrepos
This commit is contained in:
commit
767657c187
|
@ -123,7 +123,10 @@ sub new_repo
|
||||||
# erm, note that's "and die" not "or die" as is normal in perl
|
# erm, note that's "and die" not "or die" as is normal in perl
|
||||||
wrap_chdir("$repo.git");
|
wrap_chdir("$repo.git");
|
||||||
system("git --bare init >&2");
|
system("git --bare init >&2");
|
||||||
system("echo $creater > gl-creater") if $creater;
|
if ($creater) {
|
||||||
|
system("echo $creater > gl-creater");
|
||||||
|
system("git", "config", "gitweb.owner", $creater);
|
||||||
|
}
|
||||||
# propagate our own, plus any local admin-defined, hooks
|
# propagate our own, plus any local admin-defined, hooks
|
||||||
system("cp $hooks_dir/* hooks/");
|
system("cp $hooks_dir/* hooks/");
|
||||||
chmod 0755, "hooks/update";
|
chmod 0755, "hooks/update";
|
||||||
|
@ -177,6 +180,26 @@ sub get_set_perms
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# ----------------------------------------------------------------------------
|
||||||
|
# getdesc and setdesc
|
||||||
|
# ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
sub get_set_desc
|
||||||
|
{
|
||||||
|
my($repo_base_abs, $repo, $verb, $user) = @_;
|
||||||
|
my ($creater, $dummy, $dummy2) = &repo_rights($repo_base_abs, $repo, "");
|
||||||
|
die "$repo doesnt exist or is not yours\n" unless $user eq $creater;
|
||||||
|
wrap_chdir("$repo_base_abs");
|
||||||
|
wrap_chdir("$repo.git");
|
||||||
|
if ($verb eq 'getdesc') {
|
||||||
|
system("cat", "description") if -f "description";
|
||||||
|
} else {
|
||||||
|
system("cat > description");
|
||||||
|
print "New description is:\n";
|
||||||
|
system("cat", "description");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------
|
||||||
# parse the compiled acl
|
# parse the compiled acl
|
||||||
# ----------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------
|
||||||
|
|
|
@ -103,7 +103,7 @@ unless ($ENV{SSH_ORIGINAL_COMMAND}) {
|
||||||
# get and set perms for actual repo created by wildcard-autoviv
|
# get and set perms for actual repo created by wildcard-autoviv
|
||||||
# ----------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------
|
||||||
|
|
||||||
my $CUSTOM_COMMANDS=qr/^\s*(expand|getperms|setperms)\s/;
|
my $CUSTOM_COMMANDS=qr/^\s*(expand|(get|set)(perms|desc))\s/;
|
||||||
|
|
||||||
# note that all the subs called here chdir somewhere else and do not come
|
# note that all the subs called here chdir somewhere else and do not come
|
||||||
# back; they all blithely take advantage of the fact that processing custom
|
# back; they all blithely take advantage of the fact that processing custom
|
||||||
|
@ -116,6 +116,10 @@ if ($ENV{SSH_ORIGINAL_COMMAND} =~ $CUSTOM_COMMANDS) {
|
||||||
# with an actual reponame, you can "getperms" or "setperms"
|
# with an actual reponame, you can "getperms" or "setperms"
|
||||||
get_set_perms($repo_base_abs, $repo, $verb, $user);
|
get_set_perms($repo_base_abs, $repo, $verb, $user);
|
||||||
}
|
}
|
||||||
|
elsif ($repo =~ $REPONAME_PATT and $verb =~ /(get|set)desc/) {
|
||||||
|
# with an actual reponame, you can "getdesc" or "setdesc"
|
||||||
|
get_set_desc($repo_base_abs, $repo, $verb, $user);
|
||||||
|
}
|
||||||
elsif ($verb eq 'expand') {
|
elsif ($verb eq 'expand') {
|
||||||
# with a wildcard, you can "expand" it to see what repos actually match
|
# with a wildcard, you can "expand" it to see what repos actually match
|
||||||
die "$repo has invalid characters" unless "x$repo" =~ $REPOPATT_PATT;
|
die "$repo has invalid characters" unless "x$repo" =~ $REPOPATT_PATT;
|
||||||
|
|
Loading…
Reference in a new issue