ฉันได้ทดสอบสิ่งนี้ที่บ้าน (~ โฮสต์ 3 แห่ง) ซักพักแล้วลอง scms ที่แตกต่างกัน (RCS, Subversion, git) การตั้งค่าที่ใช้งานได้ดีสำหรับฉันตอนนี้คือคอมไพล์ด้วยsetgitpermsเบ็ด
สิ่งที่คุณต้องพิจารณา:
การจัดการการอนุญาตของไฟล์และการเป็นเจ้าของ
- RCS: ทำสิ่งนี้โดยกำเนิด
- การโค่นล้ม: ครั้งสุดท้ายที่ฉันพยายามคุณต้องใช้เสื้อคลุมรอบ ๆ
svnเพื่อทำสิ่งนี้
- git:
setgitpermshook จัดการเรื่องนี้อย่างโปร่งใส (ต้องการ git รุ่นล่าสุดที่ค่อนข้างสนับสนุนการpost-checkoutขอ hooks)
นอกจากนี้หากคุณไม่ต้องการ/etcควบคุมภายใต้เวอร์ชันทั้งหมด แต่เฉพาะไฟล์ที่คุณแก้ไข (เช่นฉัน) จริง ๆ คุณจะต้องมี scm ที่รองรับการใช้งานประเภทนี้
- RCS: ใช้ได้กับไฟล์เดียวเท่านั้น
- การโค่นล้ม: ฉันพบว่ามันยุ่งยาก
- git: ไม่มีปัญหาใส่ "
*" ใน.gitignoreไฟล์ระดับบนสุดและเพิ่มเฉพาะไฟล์ที่คุณต้องการใช้git add --force
ในที่สุดก็มีบางส่วนที่มีปัญหาภายใต้ไดเรกทอรี/etcที่แพคเกจสามารถวางตัวอย่างการตั้งค่าที่อ่านแล้วโดยโปรแกรมบางส่วนหรือภูต ( /etc/cron.d,
/etc/modprobe.dฯลฯ ) บางโปรแกรมเหล่านี้ฉลาดพอที่จะไม่สนใจไฟล์ RCS (เช่น cron) บางโปรแกรมไม่ได้ (เช่น modprobe) สิ่งเดียวกันกับ.svn
ไดเรกทอรี ข้อดีอีกอย่างสำหรับ git (สร้าง.git
ไดเรกทอรีระดับบนสุดหนึ่งไดเรกทอรีเท่านั้น)