Tôi đã nhìn thấy một số bài đăng trên blog và đã trải nghiệm cho chính mình, rằng Mercurial không bảo lưu quyền đối với các tệp được đẩy từ repo này sang repo khác. Có ai biết về một phần mở rộng Mercurial mà sẽ bảo vệ các điều khoản? Tôi giả định rằng nó không thể được thực hiện với một cái móc, bởi vì những gì hiện một móc biết về quyền truy cập tại repo có nguồn gốc?Mercurial có thể được thực hiện để bảo vệ quyền truy cập tập tin?
xây dựng yêu cầu:
Nếu thay đổi duy nhất vào một tập tin là một sự thay đổi trong điều khoản (ví dụ,
chmod o+r filename
), cố gắng thực hiện các tập tin thất bại với một thông báo nói rằng các tập tin không thay đổi.Nếu tôi cam kết tệp có quyền 600 (rw -------), sau đó sao chép repo, cùng một tệp trong bản sao có quyền 664 (rw-rw-r--):
: [email protected] 6522 ; hg clone one two updating working directory 1 files updated, 0 files merged, 0 files removed, 0 files unresolved : [email protected] 6523 ; ls -l one two one: total 4 -rw------- 1 nr nr 8 Aug 18 21:50 foo two: total 4 -rw-rw-r-- 1 nr nr 8 Aug 18 21:51 foo
ví dụ này cho thấy hg clone
không giữ gìn quyền, nhưng hg push
không gìn giữ họ trong hai.
Trong ứng dụng của tôi, một repo là trên một con đường truy cập công khai, và nó có tầm quan trọng lớn
Nhiều người dùng có quyền thay đổi các repo
tập tin trong repo công cộng trở thành chỉ đọc được khi có thể đọc được một cách rõ ràng.
Bạn có thể giải thích một chút về điều này không? Tôi có thể thay đổi quyền trên các tệp cục bộ của mình, cam kết thay đổi, đẩy chúng vào bản sao và bản sao sẽ, khi tôi cập nhật, thay đổi quyền. Chìa khóa ở đây là tôi phải cam kết và cập nhật. Bạn có muốn đẩy bản sao để thay đổi quyền chỉ từ đẩy? Để nhận thấy các thay đổi cục bộ mà không có cam kết? Để phỏng đoán tất cả các quyền * hiện có *? Vấn đề chính xác/tôi đang thiếu gì? – quark
@quark: Làm thế nào nó được thực hiện? Tôi đang sử dụng hg 1.2.1 trên Debian Linux và thậm chí tôi không thể nhận ra rằng sự thay đổi trong permissinos là một sự thay đổi đáng giá. (NB Tôi đã xây dựng theo yêu cầu của bạn.) –
Norman: chỉ ra những gì tôi đang thiếu là một thực tế mà bạn muốn giữ để thay đổi để "r" và "w", và những gì tôi đang nói về là thay đổi thành "x" (Mercurial đã theo dõi từ 0,6). Tôi nên nhận ra rằng bạn có nghĩa là đọc/ghi không thực thi được. – quark