2016-09-23 15 views

Trả lời

8

Theo kernel.org git không lưu trữ tất cả các quyền có thể cho tệp.

Git là trình theo dõi nội dung, trong đó nội dung được xác định là "bất kỳ điều gì có liên quan đến trạng thái của cây sourcecode điển hình". Về cơ bản, đây chỉ là dữ liệu của tệp và thuộc tính "có thể thực thi".

Vì vậy, git chỉ lưu trữ nội dung trong tệp và bit thực thi.

(Đây có lẽ là một sự lựa chọn thiết kế. Có lẽ một phần do thực tế là không phải tất cả các hệ thống tập tin đều giống nhau.)

+3

Đó là chính xác. Các bit x thêm được thiết lập trong phiên bản cam kết nếu bất kỳ bit thực thi nào được đặt trên bản gốc, và nếu không thì sẽ không. Tuy nhiên, chế độ của mỗi tệp là '0644' hoặc '0755', mà * có vẻ * có các điều khoản cho các bit bổ sung. Nhận xét trong 'fsck.c' đề cập rằng một số repos rất cũ có các tệp có chế độ' 0664', tức là, Git đã làm tại một điểm giữ quyền ghi nhóm. Điều này hóa ra là một sai lầm và đã được cố ý thay đổi. – torek

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