2010-07-27 33 views
6

Tôi có một kho lưu trữ Mercurial tập trung mà tôi muốn cung cấp quyền truy cập thông qua SSH.Kho lưu trữ Mercurial nhiều người dùng qua SSH?

Tôi đã tạo một thư mục gốc: nhà phát triển lưu trữ -R trên thư mục kho lưu trữ, vì vậy tất cả người dùng trong nhóm 'nhà phát triển' sẽ có quyền truy cập.

Vì vậy, tôi sao chép, thêm các tệp ban đầu của tôi vào kho lưu trữ dưới dạng người dùng A, cam kết, đẩy, thực hiện. Bây giờ, tôi đi như người dùng B, sao chép, thêm một tập tin, cam kết, và đẩy. Nhưng sau đó, khi tôi thực hiện thao tác kéo, cập nhật và thay đổi tệp đó là người dùng A và sau đó thử đẩy, tôi nhận được

pushing to /var/hg/repository 
searching for changes 
1 changesets found 
adding changesets 
adding manifests 
adding file changes 
transaction abort! 
rollback completed 
abort: Permission denied: /var/hg/repository/.hg/store/data/test.i 

Tôi có thiếu bước cấu hình không? Tôi có nên không sử dụng SSH không?

EDIT Tôi thấy rằng việc sử dụng bit dính giải quyết được vấn đề: How to set permissions so two users can work on the same hg repository?. Đây có phải là giải pháp tồi không?

Trả lời

3

Bit nhóm dính là cách phù hợp để thực hiện việc này. Ngoài ra, nó thường là trường hợp umasks của người dùng cần thiết để nhóm đọc/ghi sẽ được bật cho các tệp mới mà họ thêm vào, nhưng cho năm ngoái hoặc hai bản sao thủy văn quyền (không sở hữu) của thư mục .hg trong repo chính nó vào các tập tin mới được tạo ra, vì vậy umask không phải là quan trọng.

2

Có lẽ bạn có thể quan tâm bằng cách lanh lợi-server: http://www.lshift.net/mercurial-server.html

lanh lợi-server rất hữu ích nếu bạn không muốn cung cấp một vỏ để các nhà phát triển trên máy chủ lưu trữ kho trung tâm lanh lợi.

Các vấn đề liên quan