मैंने कुछ समय के लिए घर पर (~ 3 मेजबान) यह परीक्षण किया है, विभिन्न scms (RCS, तोड़फोड़, गिट) की कोशिश कर रहा हूँ। सेटअप जो अभी मेरे लिए पूरी तरह से काम करता है वह setgitperms
हुक के साथ है ।
जिन चीजों पर आपको विचार करने की आवश्यकता है:
फ़ाइल अनुमतियों और स्वामित्व की हैंडलिंग
- आरसीएस: यह मूल रूप से करता है
- तोड़फोड़: पिछले मैंने कोशिश की, तो आप एक आवरण के आसपास की जरूरत
svn
यह करने के लिए
- गिट:
setgitperms
हुक इसे पारदर्शी रूप से संभालता है ( post-checkout
हुक के लिए समर्थन के साथ गिट के एक हालिया संस्करण की आवश्यकता है , हालांकि)
इसके अलावा, यदि आप अपने सभी /etc
संस्करण नियंत्रण में नहीं रखना चाहते हैं , लेकिन केवल उन फ़ाइलों को जिन्हें आपने वास्तव में संशोधित किया है (जैसे मैं), तो आपको एक scm की आवश्यकता होगी जो इस तरह के उपयोग का समर्थन करता है।
- आरसीएस: वैसे भी केवल एक ही फाइल पर काम करता है।
- तोड़फोड़: मुझे यह मुश्किल लग रहा था।
- git: no probem, को "
*
" शीर्ष-स्तरीय .gitignore
फ़ाइल में डालें और केवल उन फ़ाइलों को जोड़ें जिन्हें आप उपयोग करना चाहते हैंgit add --force
अंत में, वहाँ के तहत कुछ समस्याग्रस्त निर्देशिका हैं /etc
संकुल config के टुकड़े ड्रॉप कर सकते हैं जहां कि फिर कुछ प्रोग्राम या डेमॉन (द्वारा पढ़ा जाता है /etc/cron.d
,
/etc/modprobe.d
, आदि)। इनमें से कुछ प्रोग्राम आरसीएस फ़ाइलों (जैसे क्रोन) को अनदेखा करने के लिए पर्याप्त स्मार्ट हैं, कुछ नहीं हैं (उदाहरण के लिए modprobe)। .svn
निर्देशिकाओं के साथ एक ही बात । फिर से गिट के लिए एक बड़ा प्लस (केवल एक शीर्ष-स्तरीय .git
निर्देशिका बनाता है )।