ฉันได้ทดสอบสิ่งนี้ที่บ้าน (~ โฮสต์ 3 แห่ง) ซักพักแล้วลอง scms ที่แตกต่างกัน (RCS, Subversion, git) การตั้งค่าที่ใช้งานได้ดีสำหรับฉันตอนนี้คือคอมไพล์ด้วยsetgitperms
เบ็ด
สิ่งที่คุณต้องพิจารณา:
การจัดการการอนุญาตของไฟล์และการเป็นเจ้าของ
- RCS: ทำสิ่งนี้โดยกำเนิด
- การโค่นล้ม: ครั้งสุดท้ายที่ฉันพยายามคุณต้องใช้เสื้อคลุมรอบ ๆ
svn
เพื่อทำสิ่งนี้
- git:
setgitperms
hook จัดการเรื่องนี้อย่างโปร่งใส (ต้องการ 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
ไดเรกทอรีระดับบนสุดหนึ่งไดเรกทอรีเท่านั้น)