Некоторые разработчики в моей команде сошли с ума ... они когда-то удаляют файл. Мне назначили, чтобы они не делали этого. До сих пор я попытался следующие (Google это мой лучший друг)Как настроить правила доступа репозитория Collabnet Subversion Edge, чтобы запретить пользователям удалять файлы (no-delete)
В разделе «Repository Правила доступа» Я
######################SVN Groups###################
[groups]
Admins:adm,bdm
DevGrp:abc,bob,rob
Choreograher:bob
Database:abc
##############Folder-Specific-Access-Rules#########
[temp:/trunk/]
@Admins=rw
[temp:/trunk/applications/branches/development/internal/branches]
@DevGrp=rw
[temp:/trunk/applications/branches/development/choreographer/trunk]
@Choreograher=rw
[temp:/trunk/applications/branches/development/databse/trunk]
@Database=rw
Теперь мне нужно отменить удаление права из всех групп (кроме админов конечно) из весь svn. Я прочитал около https://github.com/qazwart/SVN-Precommit-Kitchen-Sink-Hook , но donno, как иметь два разных файла (один из собственного файла Collabnet, donno, где он сохранен, а другой как pre-commit-hook) для управления правилами доступа.
я просто попытался добавить new-pre-commit-hook.pl в мой список крюком, после изменения следующей информации
SVNLOOK_DEFAULT => '/opt/csvn/bin/svnlook',
SVN_REPO_DEFAULT => '/opt/csvn/data/repositories/hooktest/',
.....
use constant { # Control File Type (package Control)
FILE_IN_REPO => "R",
FILE_ON_SERVER => "/opt/csvn/data/repositories/hooktest/hooks/access-control.ini",
};
.....
use constant VALID_ACCESSES => qw(ro rw ao nd na);
....
if ($case eq "ignore" ? $file_name =~ /$regex/i : $file_name =~ /$regex/) {
if ($access eq "rw") {
$permitted = 1;
}
elsif ($access eq "ro") {
$permitted = 0;
$description = $file_rule->Description;
}
elsif ($access eq "ao") {
$permitted = $change_type eq ADDED ? 1 : 0;
$description = $file_rule->Description if not $permitted;
}
elsif ($access eq "na") {
$permitted = $change_type ne ADDED ? 1 : 0;
$description = $file_rule->Description if not $permitted;
}
elsif ($access eq "nd") {
$permitted = $change_type ne DELETED ? 1 : 0;
$description = $file_rule->Description if not $permitted;
}
}
Я пытался с папкой теги первым.
File Control: доступ-Control.ini
#SVN Permission Control File
##====================Legends====================##
# Abbr. Description
# ro read-only
# rw read-write
# ao add-only
# nd no-delete
# na no-add
##==============SVN Groups=======================##
[group superadmins]
users = adm,bdm
[group developers]
users = abc,bob,rob
[group all]
users = adm,bdm,abc,bob,rob
##===========Folder Specific Permissions=========##
[file]
file =/tags/**
access = ro
users = @all
[file]
file =/tags/*/*
access = ao
users = @superadmins
[file]
file =/tags/**
access = ro
users = @superadmins
Но это не сработало. Я наивна с perl, а также SVN. Пожалуйста помоги. ОС: Red Hat Enterprise Linux Server релиз 6.3 (Santiago) О Subversion Edge: Release: 3.2.2
** Спасибо ** много за ответ (esp для этих ссылок). Я помету ответ, как только мне это удастся. [Am on very tight schedule rt now .. :(] – AlienNova
Привет, Марк, я но я не могу найти нигде в SVN Edge, чтобы «загрузить скрипты hook». Я использую версию Windows –
См. http://help.collab.net/topic/csvn/action/managehookscripts.html –