@Stephen Bailey
Để hoàn thành câu trả lời của mình, bạn cũng có thể ủy quyền người dùng cho người quản lý dự án, thông qua một tệp văn bản thuần túy trong kho lưu trữ của bạn.
Để làm điều đó, bạn thiết lập cơ sở dữ liệu SVN của mình với một authz
tệp mặc định có chứa các thông tin sau:
###########################################################################
# The content of this file always precedes the content of the
# $REPOS/admin/acl_descriptions.txt file.
# It describes the immutable permissions on main folders.
###########################################################################
[groups]
svnadmins = xxx,yyy,....
[/]
@svnadmins = rw
* = r
[/admin]
@svnadmins = rw
@projadmins = r
* =
[/admin/acl_descriptions.txt]
@projadmins = rw
authz
Tệp mặc định này cho phép quản trị viên SVN sửa đổi tệp văn bản thuần có thể nhìn thấy trong kho lưu trữ SVN của bạn, được gọi là '/admin/acl_descriptions.txt' , trong đó quản trị viên SVN hoặc người quản lý dự án sẽ sửa đổi và đăng ký người dùng.
Sau đó, bạn thiết lập một hook cam kết trước sẽ phát hiện xem bản sửa đổi có bao gồm tệp đó hay không (và chỉ tệp đó).
Nếu đúng như vậy, tập lệnh của hook này sẽ xác thực nội dung của tệp văn bản thuần túy của bạn và kiểm tra xem mỗi dòng có tuân thủ cú pháp SVN hay không.
Sau đó, một hook post-commit sẽ cập nhật \conf\authz
tệp với phần nối là:
authz
tệp TEMPLATE được trình bày ở trên
- tệp văn bản thuần túy
/admin/acl_descriptions.txt
Lần lặp đầu tiên được thực hiện bởi quản trị viên SVN, người cho biết thêm:
[groups]
projadmins = zzzz
Anh ấy cam kết sửa đổi của mình và cập nhật authz
tệp.
Sau đó, người quản lý dự án 'zzzz' có thể thêm, xóa hoặc khai báo bất kỳ nhóm người dùng nào và bất kỳ người dùng nào anh ta muốn. Anh ấy cam kết tệp và authz
tệp được cập nhật.
Bằng cách đó, quản trị viên SVN không phải quản lý riêng lẻ bất kỳ người dùng nào đối với tất cả các kho lưu trữ của SVN .