2012-08-10 19 views
6

Hãy xem xét các repo sau:gitolite không cho phép truy cập cho thư mục trên chi nhánh tổng thể nhưng không phải trên người sử dụng chi nhánh

REPO/src/A/

REPO/src/B/

Có thể bằng cách chỉ có 1 repo để thực hiện các hạn chế sau đây?

  1. Mở chi nhánh tổng thể, cho phép truy cập đầy đủ để bảo trì vai trò
  2. Mở chi nhánh chủ, không cho phép truy cập đến A nhưng cho phép B để vai trò người đóng góp.
  3. Trên các chi nhánh cá nhân, cho phép truy cập đầy đủ vào A và B cho người tạo.
+0

Note : các VREF theo tên có thể, trong trường hợp của bạn: 'VREF/NAME/src/A' thay vì' VREF/NAME/A'. – VonC

Trả lời

4

Với Gitolite V3 or 'g3'VREF, có thể thực hiện những hạn chế đó.

Nhưng quyền truy cập bạn có thể quản lý chỉ dành cho quyền truy cập ghi.
Nếu người dùng có thể sao chép một repo, họ sẽ có quyền truy cập đọc vào tất cả repo (như được đề cập trong "gitolite: allow to change only selelected files").
Nếu bạn thực sự muốn giới hạn quyền truy cập đọc, bạn có thể thử gitolite 'partial-copy'.

vài lưu ý:

Một access rule giống như:

<permission> <zero or more refexes> = <one or more users/user groups> 

<zero or more refexes> nghĩa có thể của bạn kết hợp refexes

Điều đó sẽ cung cấp cho một cái gì đó tương tự (không kiểm tra):

repo REPO 
     RW+ master      = MAINTAINER 
     - master   VREF/NAME/A = CONTRIBUTOR 
     RW master   VREF/NAME/B = CONTRIBUTOR 
     RW personal/USER/ VREF/NAME/A = CREATOR 
     RW personal/USER/ VREF/NAME/B = CREATOR 
+0

Xin chào, tôi không quan tâm đến quyền truy cập đọc. Tôi sẽ cung cấp cho một đi với thiết lập đề xuất của bạn và trở lại với thông tin phản hồi. – Konstantinos

+1

@Konstantinos Tuyệt vời. Đảm bảo bạn đã cài đặt gitolite V3 trong thiết lập GitLab của mình. Và thử nó bên ngoài gitlab, với lệnh git trực tiếp thông qua ssh. – VonC

+0

@VonC, nhưng không được kết hợp từ chối ORED và không AND? –

0
repo REPO 
    - master VREF/NAME/src/A = @contributors 
    RW+ master = @maintainers @contributors 
    RW+ personal/ = @creators 
Các vấn đề liên quan