2009-08-28 16 views
6

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

बहुत से लोग जो इसका उपयोग करेंगे, वे प्रोग्रामर या यहां तक ​​कि कंप्यूटर समझदार नहीं हैं, इसलिए हम एक ऐसे सिस्टम की भी तलाश कर रहे हैं जो लोगों को बस भंडार में दस्तावेज जोड़ता है, दस्तावेज जांचता है और संपादित करता है (जब तक कोई और वर्तमान में इसे संपादित कर रहा है), और इसे कम से कम झगड़े के साथ वापस जांचें।

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

+0

विकिपीडिया एक उत्कृष्ट लेख उत्पादों की तुलना के रूप में: [http://en.wikipedia.org/wiki/Comparison_of_revision_control_software](http://en.wikipedia.org/wiki/Comparison_of_revision_control_software) –

उत्तर

10

सबवर्जन लागू लॉकिंग प्रदान करता है। जब Propoerty svn:needs-lock सेट किया गया है, तो फ़ाइल केवल पढ़ने के लिए चेक की जाती है और उपयोगकर्ता को लिखने योग्य प्रतिलिपि प्राप्त करने के लिए इसे लॉक करने की आवश्यकता होती है। कोई अन्य उपयोगकर्ता वहां से उसी फ़ाइल को लॉक नहीं कर सकता है।

+0

लेकिन लागू करने के लिए आप अभी भी होगा कि सभी फाइलों में svn है: जरूरत-लॉक संपत्ति; न केवल मौजूदा लोगों बल्कि नए जोड़े गए। svn autoprops ऐसा कर सकते हैं लेकिन फिर आपको यह सुनिश्चित करना होगा कि प्रत्येक क्लाइंट में सही ऑटोप्रॉप कॉन्फ़िगरेशन हो। tsvn: autoprops एक और विकल्प है यदि आप केवल कछुआ एसवीएन का उपयोग करते हैं, लेकिन यदि उपयोगकर्ता प्रोजेक्ट का उप-फ़ोल्डर जांचते हैं तो यह काम नहीं करेगा :-( –

+0

यह प्रत्येक क्लाइंट के लिए कॉन्फ़िगरेशन फ़ाइल में किया जा सकता है (Miscellany: enable-auto- props = yes, auto-props: * = svn: need-lock)। गैर-लॉक किए गए चेकइन को अस्वीकार करने वाले सर्वर पर पूर्व-प्रतिबद्ध हुक द्वारा क्लाइंट सेटिंग की जांच करें –

5

मुझे पता है कि यह आपकी सूची में नहीं है, लेकिन हम पेर्सफोर्स से खुश हैं। आप p4 typemap आदेश का उपयोग करें (सुनिश्चित करें कि एक निर्दिष्ट प्रकार की सभी फ़ाइलें उदाहरण, के लिए //depot/.../*.gif के लिए कर सकते हैं

आपका लाज़िमी व्यवस्थापक के साथ कई checkouts रोका जा सकता है सभी .gif फ़ाइलें) केवल एक समय में एक उपयोगकर्ता द्वारा खोला जा सकता है। विवरण के लिए पर्सफोर्स कमांड संदर्भ देखें।

+0

पी 4 की तुलना में, इस सुविधा के सबवर्जन के कार्यान्वयन में "बहुत कमी है" यह कारणों की मेरी सूची पर बहुत अधिक है कि क्यों एक कंपनी एसवीएन पर पी 4 का चयन करेगी, और एसवीएन में स्थानों की मेरी सूची पर कम मुझे निकट भविष्य में महत्वपूर्ण सुधार देखने की उम्मीद है।: –

+0

जब पी 4 यह मेरे लिए करता है, तो मैं बस " chmod u + w फ़ाइल "और यह * * * समस्या का अंत है। p4 अब तक का सबसे खराब संस्करण नियंत्रण उपकरण है। – jrockway

+0

ब्लॉक उपयोगकर्ताओं को" ऑफलाइन काम को सुलझाने "का उपयोग करने से रोक सकता है? –

0

यदि यह केवल दस्तावेज (जैसे शब्द, एक्सेल, इत्यादि) है तो आप अल्फ्रेस्को के दस्तावेज़ प्रबंधक को देख सकते हैं, यह उपयोग करना बहुत आसान है।

http://www.alfresco.com/products/dm/features/

4

ध्वनि SubversionTortoiseSVN साथ की तरह बिल को फिट होगा। जैसा कि अर्ने बर्मामिस्टर ने उल्लेख किया है, आप इसे डिफ़ॉल्ट-लॉक मोड में डिफ़ॉल्ट कर सकते हैं, जहां प्रत्येक फ़ाइल चेक-आउट केवल तब तक पढ़ा जाएगा जब तक आप इसे लॉक न करें। हुक के उपयोग के माध्यम से आप फ़ाइल को लॉक या अनलॉक करते समय अन्य उपयोगकर्ताओं को सूचित कर सकते हैं।

टोर्टोइज एसवीएन विंडोज एक्सप्लोरर के साथ एकीकृत करता है इसलिए छोटे कंप्यूटर समझदार की आवश्यकता होती है।

ध्यान दें कि सबवर्जन में "चोरी लॉक" सुविधा है, लेकिन यदि आप प्रीलॉक हुक के उपयोग के माध्यम से चाहते हैं तो आप इसे अक्षम कर सकते हैं।

+0

जब तक टीम के सदस्य समझदार होते हैं (कर सकते हैं प्रभावी कमू करें nication), "चोरी लॉक" सुविधा को अक्षम करने की कोई आवश्यकता नहीं है। –

+0

सवाल बताता है, "हम किसी को किसी फ़ाइल को गलती से शुरू करने के लिए जितना संभव हो उतना मुश्किल बनाना चाहते हैं जिसे किसी और ने चेक आउट किया है" – RedFilter

1

मुझे पता है कि आईबीएम क्लियरकेस इससे बचाता है। हम इसे हमारी कंपनी में उस कारण से उपयोग करते हैं।

+0

हालांकि समवर्ती संपादन को रोकने के लिए डिज़ाइन नहीं किया गया है !!! – pablo

2

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

सबवर्सन के साथ जाएं, यह एक केंद्रीकृत संशोधन नियंत्रण प्रणाली है जो आपको मिलेगा (मैंने केवल ओपन सोर्स सिस्टम की कोशिश की है, मुझे बंद स्रोत सिस्टम के बारे में कुछ भी पता नहीं है)। यदि आप चाहते हैं, तो भी आप "पक्ष में" hgsubversion के साथ प्रयोग कर सकते हैं।

0

मूल आरसीएस। फ़ाइल को चेक करते समय, आप इसे लॉक करते हैं: "co -l फ़ाइल नाम"। इसके बाद, जब तक आप इसे वापस नहीं देखते ("सीआई फाइलनाम"), कोई भी फ़ाइल को बदल नहीं सकता है।

0

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

मुझे विश्वास नहीं है कि मैं यह कह रहा हूं, लेकिन यदि आप इस तरह से काम करना चाहते हैं, तो दृश्य स्रोत सुरक्षित एकमात्र सिस्टम है जिसे मैं इस तरह से डिजाइन करने के बारे में जानता हूं। यदि आप एक अधिक आधुनिक/भरोसेमंद संस्करण चाहते हैं, तो Sourcegear के वॉल्ट को देखें - हालांकि वे Vss की तरह दिखने के लिए बड़े प्रयासों पर गए लेकिन पर्यावरण जैसे svn में अच्छी तरह से काम किया।

लेकिन शायद एक समर्पित दस्तावेज़ प्रबंधन समाधान बेहतर होगा - या शायद पोर्टल सर्वर की तरह कुछ भी।

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