2011-05-11 14 views
17

मेरी टीम एक नया एप्लीकेशन विकसित कर रही है (सी #, नेट 4) जिसमें साझा उपयोगकर्ता सामग्री के लिए एक संग्रह शामिल है। हमें यह तय करने की ज़रूरत है कि इसे कहां स्टोर करना है। आवश्यकताएं निम्नानुसार हैं:एसक्यूएल आधारित स्टोरेज बनाम एसवीएन

  1. उपयोगकर्ताओं के बीच फ़ाइलें साझा करें।
  2. समर्थन संस्करण।
  3. टैग्स द्वारा खोज सक्षम करें और "एक्स एक्स से लोगों द्वारा बनाई गई सभी फाइलें"
  4. विभिन्न लोगों के लिए अलग-अलग विचार (टीम एक्स अपनी सामग्री देखता है और कोई और उन्हें देख सकता है)।

मुझे यकीन है कि नहीं कर रहा हूँ क्या सबसे अच्छा है, तो:

  • मैं टैग (निश्चित रूप से नहीं SVN टैग, अधिक stackoverflow के टैग की तरह) का उपयोग कर SVN में खोज सकते हैं?
  • डुप्लिकेशंस - दोनों एसवीएन और एसक्यूएल - सामग्री की सोच में कोई समझ है?
  • कोई अन्य सुझाव?

संपादित
आवेदन उपयोगकर्ताओं सत्यापन परीक्षण है कि वे बाद में अमल में लिखने के लिए सक्षम बनाता है। उन परीक्षणों को विभिन्न साइटों पर कई समूहों के बीच साझा किया जाता है। हमें नियमित कारणों के लिए संस्करण की आवश्यकता है - पूर्ववत परिवर्तन, अचानक हटाना इत्यादि। यह एसवीएन के लिए कॉल करता है।
बात यह है कि, हम ट्रैकिंग के उद्देश्यों के लिए "तत्काल" टैग किए गए सभी परीक्षणों को ढूंढने के लिए विकल्प भी जोड़ना चाहते हैं और अब तक निष्पादित किए गए थे।

मुझे आशा है कि मैं अपने आप को और अधिक स्पष्ट कर दिया अब :)

संपादित द्वितीय
मैं SvnQuery में पड़ गए और यह अच्छा लग रहा है, लेकिन यह एक एपीआई मैं उपयोग कर सकते हैं है? मैं अपने स्वयं के जीयूआई के साथ अपने तंत्र का उपयोग करना चाहता हूं।

संपादित तृतीय
मेरे सहयोगी दृढ़ता से केवल एक डेटाबेस और फ़ाइल आधारित भंडारण भूल का उपयोग कर समर्थन करता है। उनका दावा है कि यह दृढ़ता के लिए बेहतर है (जिसकी आवश्यकता है - एक परीक्षण निष्पादित करने के लिए आदेशों की सूची से अधिक है)। मैं इस मुद्दे पर इनपुट की सराहना करता हूं, क्योंकि मुझे लगता है कि इसे इस तरह से करना चाहिए या दूसरे।

धन्यवाद!

+0

मैंने किसी अनुप्रयोग के लिए दस्तावेज़ संग्रह के रूप में svn का उपयोग कभी नहीं किया था, लेकिन विचार दिलचस्प है। –

+0

प्रदर्शन आवश्यकताओं क्या हैं और संग्रह का अपेक्षित आकार क्या है। – rerun

+0

शेयरपॉइंट एक विकल्प है? – Brian

उत्तर

2

आप एसवीएन का उपयोग कर सकते हैं।

  1. साझा फ़ाइलें: स्पष्ट और आसान। यह केंद्रीकृत लॉकिंग का भी समर्थन करता है जिसे आपको बाइनरी फ़ाइलों के लिए आवश्यकता हो सकती है।
  2. संस्करण। जाहिर है।
  3. खोज ... अब हम कठिन क्षेत्र में जा रहे हैं। एक लुसीन एडन है जो आपके रेपो - ओपेन्गोक, svnquery या svn-search की वेब खोज की अनुमति देता है। इसके लिए ये आपके सबसे अच्छे शुरुआती बिंदु होंगे।
  4. एसवीएन रेपो में मौजूद लोगों को देखने से रोकने का कोई तरीका नहीं है, लेकिन आप उन्हें एक्सेस करने से रोक सकते हैं। मुझे नहीं पता कि छुपा फ़ोल्डर्स प्रदान करने के लिए एक्सेस कंट्रोल आसानी से बढ़ाया जा सकता है, आप एसवीएन डेवलपर्स से पूछ सकते हैं।

एसवीएन के साथ काम करने के लिए कुछ महान एपीआई हैं, शायद सबसे अधिक सुलभ है SharpSVN जो आपको एक .NET असेंबली देता है, लेकिन पाइथन और सी और सभी प्रकार उपलब्ध हैं।

जैसा कि बताया गया है, वेब उपकरण हैं जो एसवीएन के शीर्ष पर बैठते हैं, इसमें देखने के लिए, ट्रैक, और रेडमाइन और वेबएसवीएन जैसे कई रेपो-व्यूअर हैं, इसलिए आपके स्वयं को पकाए जाने के लिए बहुत सारे नमूना कोड का उपयोग करना है ।


क्या आप एक डीवीसीएस जैसे गिट या मर्कुरियल का उपयोग करेंगे? मैं नहीं चाहता यद्यपि इनके पास अच्छे तंत्र हैं, लेकिन ऐसा लगता है कि वे बाद में क्या नहीं हैं। ये लोगों को अपने आप पर काम करने और पीयर-टू-पीयर आधार पर दूसरों के साथ साझा करने की अनुमति देते हैं (हालांकि आप 'केंद्रीय' रेपो सेट कर सकते हैं और उसके साथ सभी के साथ काम कर सकते हैं)। वे केंद्रीकृत, साझा तरीके से काम नहीं करते हैं। उदाहरण के लिए, यदि आप और मैं दोनों स्थानीय स्तर पर टेस्ट केस संपादित करते हैं और केंद्रीय रिपो को धक्का देते हैं, तो हमारे पास विलय के मुद्दे हो सकते हैं। अगर फाइल बाइनरी या अन्यथा गैर-विलय योग्य फ़ाइल है तो हमें विलय करने में समस्याएं होंगी। इस मामले में आपको एक व्यक्ति के परिवर्तनों को खोने में समस्या है। यह आपके मामले में एक डीवीसीएस का उपयोग न करने का मुख्य कारण है।


यदि आप एक साथ साझा परीक्षण प्राप्त करने का प्रयास कर रहे हैं, तो क्या आपने कुछ ऐप्स देखे हैं जो पहले से ही ऐसा करते हैं। मैंने हाल ही में TestRail देखा जो आपको लगता है कि आप क्या करने की कोशिश कर रहे हैं। यह मुफ़्त नहीं है (हां) लेकिन यह सस्ता है।

3

सबसे पहले, एसवीएन की बजाय जीआईटी का उपयोग करने पर विचार करें। यह बहुत तेज़ है, और मुझे संदेह है कि यह आपके उपयोग-मामले में अधिक उपयुक्त है: इसे वितरित करने के लिए डिज़ाइन किया गया है, जिसका अर्थ है कि आपके उपयोगकर्ता इसे इंटरनेट एक्सेस के बिना उपयोग करने में सक्षम होंगे, और आपके पास सर्वर से संचार करने से संबंधित कोई ओवरहेड नहीं होगा दस्तावेजों की बचत करते समय।

इसके अलावा, मैं आपके प्रश्न की पूर्ण समझ नहीं ले रहा हूं, लेकिन ऐसा लगता है कि इसके बारे में बेहतर जानकारी हो सकती है: "क्या मैं अपने संस्करण नियंत्रण प्रणाली पर टैग-आधारित खोज/एक्सेस प्रतिबंध कर सकता हूं, या मुझे ऐसा करने के लिए शीर्ष पर एक परत बनाने की ज़रूरत है? "

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

+0

क्या मैं कर सकता था - यह तब से डूब गया है जब से हम मुख्य रूप से कंपनी में एसवीएन के साथ काम करते हैं। क्या एसवीएन के लिए शीर्ष पर ऐसी परत है (डेस्कटॉप के लिए, वेब नहीं)? – Noich

+0

इसके अलावा, मुझे ऊपर की परत को लागू करने में कोई फर्क नहीं पड़ता। सवाल यह है कि, क्या किसी भी तरह से एसवीएन में फाइलों को टैग करना संभव है, जिससे उन पर प्रश्नों को सक्षम किया जा सके? – Noich

+0

ट्रैक बॉक्स के बाहर एसवीएन के लिए काम करता है, हां, लेकिन मैं अभी भी जीआईटी की सलाह दूंगा, अन्यथा आपकी रिपॉजिटरी एक निश्चित आकार तक पहुंचने के बाद आपकी फाइलों में से कोई भी बचत क्रॉल में लाई जाएगी। और हाँ, आप फ़ाइलों को svn गुण सेट/प्राप्त/छोड़ सकते हैं। सबसे अच्छा मुझे पता है, हालांकि, ये आपको उनकी सामग्री के आधार पर फ़ाइलों/परिवर्तनों को आसानी से पूछने में सक्षम नहीं होंगे: यह वह जगह है जहां एक अतिरिक्त परत उपयोगी हो जाती है। –

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