Tôi đã thử nghiệm điều này ở nhà (~ 3 máy chủ) một thời gian rồi, thử các scms khác nhau (RCS, Subversion, git). Thiết lập hoạt động hoàn hảo cho tôi ngay bây giờ là git với setgitperms
hook.
Những điều bạn cần phải xem xét:
Xử lý quyền và quyền sở hữu tệp
- RCS: thực hiện điều này nguyên bản
- Subversion: lần cuối tôi đã thử, bạn cần một trình bao bọc
svn
để làm điều này
- git:
setgitperms
hook xử lý trong suốt này ( post-checkout
mặc dù cần một phiên bản git khá gần đây có hỗ trợ cho hook)
Ngoài ra, nếu bạn không muốn tất cả các /etc
điều khiển dưới phiên bản của mình , nhưng chỉ các tệp mà bạn thực sự sửa đổi (như tôi), bạn sẽ cần một scm hỗ trợ loại sử dụng này.
- RCS: dù sao chỉ hoạt động trên các tệp duy nhất.
- Subversion: Tôi thấy điều này là khó khăn.
- git: không có probem, đặt "
*
" vào .gitignore
tệp cấp cao nhất và chỉ thêm những tệp bạn muốn sử dụnggit add --force
Cuối cùng, có một số thư mục có vấn đề dưới /etc
nơi gói có thể thả các đoạn cấu hình mà sau đó được đọc bởi một số chương trình hoặc daemon ( /etc/cron.d
,
/etc/modprobe.d
, vv). Một số chương trình này đủ thông minh để bỏ qua các tệp RCS (ví dụ: cron), một số chương trình thì không (ví dụ: modprobe). Điều tương tự với các .svn
thư mục. Lại một điểm cộng lớn cho git (chỉ tạo một .git
thư mục cấp cao nhất ).