2011-01-08 8 views
6

आप डेवलपर्स के साथ एक वाणिज्यिक परियोजना के लिए कौन सी सिफारिश करते हैं जिसके लिए केवल भंडार के किसी विशेष भाग तक पहुंच की आवश्यकता है?पदानुक्रमित अभिगम नियंत्रण के साथ भंडार के लिए एसवीएन या गिट

विकास आईडीई ग्रहण

है और प्रोग्रामिंग भाषा सी है/C++

आवश्यकता की मुख्य विशेषताएं है: भंडार

उत्तर

2

Git करने के लिए आधिकारिक और एसीएल श्रेणीबद्ध का उपयोग, एक "केंद्रीय" सर्वर के साथ संयुक्त Gitolite के साथ प्रबंधित, आपको आवश्यक सभी ठीक-ठीक नियंत्रण प्रदान कर सकते हैं (प्रति उपयोगकर्ता/प्रति समूह, सभी के लिए या केवल कुछ शाखाओं तक ही रेपो के कुछ हिस्से तक)।

कहा जा रहा है कि, यदि आपके डेवलपर एसवीएन जैसे सीवीसीएस से अधिक परिचित हैं, तो कम से कम प्रोजेक्ट शुरू करने के लिए उस ज्ञान का उपयोग करना बुद्धिमान हो सकता है (और आपके अपाचे सर्वर कॉन्फ़िगरेशन में प्रमाणीकरण विधि का उपयोग करता है): CVCS can be quite different from a DVCS
(साथ ही आप बाद में एक एसवीएन रेपो को गिट में परिवर्तित कर सकते हैं)

+0

हालांकि मैं Git चुना है, Git के साथ यह किसी भी मॉडल को प्राप्त करने के लिए आसान है, इसका वितरित संस्करण नियंत्रण प्रणाली श्रेणीबद्ध अभिगम नियंत्रण बहुत आसान है को प्राप्त करने की अनुमति देता है, यह स्पष्ट है कि हम उनके विशेष परियोजनाओं पर काम करने तो क्यों नहीं डेवलपर के लिए है उनके पास रिपोजिटरी शाखा या मॉड्यूल की एक प्रति है जो वे काम कर रहे हैं, वैसे भी उन्हें यह पता होना चाहिए कि वे इसे विकसित करने के लिए क्या कर रहे हैं, इस प्रकार उन्हें उस हिस्से की आवश्यकता है, जो मुझे गिट के बारे में बहुत दिलचस्प लगता है, हम इस पदानुक्रम संरचना को प्राप्त कर सकते हैं विभिन्न Git संग्रह की स्थापना तो, एक नदी के ऊपर से एक में उनके मर्ज करने के परिणाम – kay

+0

मैं SVN के साथ स्वीकार करते हैं यह भी, मैं व्यक्तिगत रूप से SVN उपयोग किया गया है निश्चित रूप से बहुत अधिक दर्द के साथ इस तरह के कार्यों को प्राप्त करने के लिए संभव है, लेकिन मैं Git आसान और तेज असीमित विकल्प के साथ पाया और ग्रहण समर्थन ईजीट और जेजीट के रूप में गिट के साथ मिलकर पर्याप्त स्वीकार्य है, बिना टी की आवश्यकता के डेवलपर्स दर्द कैसे अंतर्निहित Git के साथ काम करने, अन्य अवधारणाओं ही कर रहे हैं के रूप में SVN वास्तव में जिस तरह से यह संस्करण नियंत्रण – kay

2

गिट एसवीएन की तुलना में अधिक मॉड्यूलर और लचीला है। अगर कुछ डेवलपर्स को केवल भंडार के एक हिस्से तक पहुंच की आवश्यकता होती है, तो आप इसे एक सबमिशन बना सकते हैं (यानी एक स्वतंत्र भंडार जो आपके मुख्य भंडार द्वारा एकत्रित किया जाता है)। फाइल सिस्टम के अंदर एक निर्देशिका के मुकाबले एक अलग भंडार तक पहुंच प्रदान करना बहुत आसान है।

एपीआई या प्लगइन्स को मुख्य भंडार से अलग करने के लिए यह एक आम प्रथा है। अधिक जानकारी के लिए, there देखें।

अंतिम बिंदु, गिटोलाइट जैसे सॉफ्टवेयर (जिसे मैं अपनी परियोजनाओं के लिए उपयोग करता हूं) और गिटोसिस (जिसे हम काम पर उपयोग करते हैं) गिट भंडारों का प्रशासन बहुत आसान बनाते हैं।

+0

मैं भी आपसे सहमत हूँ, कि मैं क्या आसान पाया यह कई Git संग्रह करने के लिए और केवल मुख्य करने के लिए उन्हें धक्का संभव है है गिट रिपोजिटरी, हाइरार्किकल एक्सेस कंट्रोल हासिल करना आसान है और इस तरह गुणवत्ता नियंत्रण भी है, किसी भी तरह फ्रीबीएसडी प्रोजेक्ट की तरह, लेकिन वे सीवीएस – kay

1

आपको एसवीएन का उपयोग करना चाहिए। कारण:
- एक वाणिज्यिक परियोजना के लिए, एसवीएन से परिचित अधिक डेवलपर्स। और एसवीएन में शक्तिशाली जीयूआई उपकरण हैं। मुझे लगता है कि आप "गिट का उपयोग करना मुश्किल है" के बारे में शिकायतें सुनना नहीं चाहते हैं। (मुझे दोनों गिट और एसवीएन पसंद है)
- गिट स्थानीय स्तर पर बहुत अधिक संस्करण जानकारी बनाए रखता है, यह वही नहीं है जो आप आम तौर पर एक वाणिज्यिक परियोजना के लिए चाहते हैं।

+2

का उपयोग करते हैं, वास्तव में वाणिज्यिक प्रोजेक्ट स्टोर संस्करण की जानकारी स्थानीय रूप से क्यों नहीं होनी चाहिए? यह डेवलपर्स को स्थानीय रूप से कुशलतापूर्वक काम करने की अनुमति देता है, फिर उपयुक्त समय पर केंद्रीय कंपनी सर्वर पर धक्का देता है। यदि आपके डेवलपर कंपनी नीति का पालन नहीं करते हैं, तो वे 'svnsync' का उपयोग कर सकते हैं, फिर भी जो भी घृणास्पद काम आप डरते हैं। –

+1

मुझसे सवाल मत पूछो। कोई फर्क नहीं पड़ता कि मैं क्या खेलता हूं, सच यह है कि कुछ लोग दुनिया में ऐसा सोचते हैं। –

+0

शाखा या पेड़ों को छिपाने का बिल्कुल कोई कारण नहीं है, स्रोतों के लिए पदानुक्रमित पहुंच के पीछे की अवधारणा गिट और एकाधिक भंडारों के साथ हासिल करना बहुत आसान है, इस तरह उन हिस्सों को शामिल न करें जिन्हें डेवलपर को पता होना चाहिए या काम नहीं करना चाहिए इस उदाहरण में एक जीयूआई डेवलपर डिजिटल सिग्नल प्रोसेसर के साथ सौदा नहीं करना चाहिए और इस तरह डीएसपी कोड उसके पास उपलब्ध नहीं है, बस इसे, अपने Git रिपोजिटरी से छुट्टी लेने या स्रोतों के बजाय वस्तु फ़ाइलों की जगह – kay

2

अपाचे या svnserve; सर्वर के रूप में, ठीक छोटाबीजवाला Per-directory access control का उपयोग उपलब्ध है। Path-Based Authorization अनुदान उपयोगकर्ताओं या समूहों को आपके भंडार तक पहुंच परिभाषित किया गया है। यदि कोई वेब इंटरफ़ेस भी उपलब्ध होना चाहिए, तो यह websvn पर भी लागू होता है।

+0

यह संभव है SVN के साथ एक ही बात को प्राप्त करने के है, लेकिन एक लंबे समय SVN उपयोगकर्ता के रूप में, मैं Git इस लक्ष्य को हासिल करने के लिए मिला बहुत आसान है, क्योंकि मैं श्रेणीबद्ध डेटा संग्रह स्थान के रूप में अच्छी तरह से स्थापित कर सकते हैं, मैं देख रहा हूँ यह SVN पर संभव है लेकिन बहुत अधिक दर्द – kay

+0

@kay साथ: * "बहुत अधिक दर्द क्या है "*? * गिटोलाइट * या * ऑथज़ * की स्थापना करना एक बड़ा अंतर नहीं होगा। ** विलय रणनीतियों के बारे में ** * * जीआईटी * जैसे डीवीसीएस के पास फायदे हैं, लेकिन एक्सेस प्रबंधन से संबंधित नहीं हैं। – zellus

+0

हाँ समस्या आप बिंदु नहीं मिलता है, यह Git के साथ खजाने की खजाने करना संभव है सितम्बर सिर्फ contraration का उपयोग नहीं है, और करने से (धक्का) ऊपर की ओर संग्रह स्थानों (इस SVN में उपलब्ध नहीं है। – kay

संबंधित मुद्दे