2009-08-17 18 views
8

क्या यह एकाधिक कंप्यूटरों के लिए एक साझा फाइल सिस्टम पर संग्रहीत एक svn भंडार को एक साथ सुरक्षित करने के लिए सुरक्षित है?विंडोज नेटवर्क शेयर पर svn भंडार

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

Subversion docs Win9x वातावरण में बीडीबी और एफएसएफएस के साथ मुद्दों का उल्लेख करते हैं, लेकिन यह मुझे स्पष्ट नहीं है कि फ़ाइल के माध्यम से समेकित रूप से एक्सेस किया गया है या नहीं: // URL विंडोज के अन्य हाल के संस्करणों (या अन्य ऑपरेटिंग सिस्टम) में सुरक्षित हैं मामला)।

संपादित आवेदन मैं सीधे SVN का उपयोग किया जाएगा के निर्माण कर रहा हूँ, इसलिए मैं एक अपेक्षाकृत कंस्ट्रेन्ड वातावरण का निर्माण करने के लिए अगर यह एक सुरक्षित समवर्ती साझा सहयोग पर्यावरण की अनुमति देंगे तैयार हूँ।

+0

समस्या आप वास्तव में हल करने के लिए कोशिश कर रहे हैं क्या है/कमी आपके आस-पास काम करने के लिए मना रहे हैं? –

+0

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

उत्तर

2

मेरे सिर के ऊपर बंद (और मैं किसी भी जानकारी ऑनलाइन ढूँढने में सक्षम नहीं था), मुझे लगता है कि है कि आप एक SVN ग्राहक फ़ाइल का समर्थन करता है कि प्रयोग कर रहे हैं: (उदाहरण के लिए, TortoiseSVN) // प्रोटोकॉल, यह सही ढंग से काम करना चाहिए।

हालांकि, और दुर्भाग्य से मैं नहीं दस्तावेज़ पा सकते हैं, मैं वहाँ याद है फ़ाइल के साथ कुछ समस्याओं जा रहा है: // प्रोटोकॉल और SVN। यदि संभव हो, तो मैं एक विंडोज शेयर पर भरोसा करने के बजाय एक एसवीएन सर्वर स्थापित करने का सुझाव दूंगा (VisualSVN बहुत अच्छी तरह से काम करता है और सेटअप करना आसान है)।

संपादित करें: मुझे स्टैक ओवरफ्लो पर this discussion मिला। ऐसा लगता है कि फ़ाइल प्रोटोकॉल का उपयोग करने में कोई समस्या नहीं है।

संपादित करें 2: नील का लिंक मैंने कुछ समय पहले पढ़ा था और फ़ाइल प्रोटोकॉल को हतोत्साहित करता है। हालांकि, अगर फ़ाइल का उपयोग करना है: // प्रोटोकॉल का मतलब स्रोत नियंत्रण का उपयोग करने और उपयोग करने के बीच का अंतर है, तो मैं कम से कम इसका उपयोग करने की अनुशंसा करता हूं। कुछ स्रोत नियंत्रण कुछ भी नहीं है।

+0

मैं एक शेयर पर VisualSVN का उपयोग करने के साथ सहमत हूं। – Nick

+8

मैं आपके दूसरे संपादन के साथ दृढ़ता से असहमत हूं - अविश्वसनीय स्रोत नियंत्रण किसी से भी बदतर नहीं है। –

11

कछुआ SVN डॉक्स वास्तव में दृढ़ता से यह हतोत्साहित - this link देखते हैं। ।

संक्षेप में:

file: // पहुँच स्थानीय के लिए, एकल उपयोगकर्ता पहुँच ही, विशेष रूप से परीक्षण और डीबगिंग का इरादा है।

+1

वे TortoiseSVN दस्तावेज़ हैं, स्वयं svn दस्तावेज़ नहीं। मुझे आश्चर्य है कि यह TortoiseSVN लोगों की एक सीमा/राय है, या स्वयं svn के साथ एक समस्या है। इसके अलावा, मैं पर्यावरण प्रतिबंधों के आसपास बहुत सारी रियायतें तैयार करने के लिए तैयार हूं; अगर मुझे आवश्यकताएं का एक संकीर्ण सेट मिल सकता है जो * काम * करता है, तो मैं खुशी से खुद को बाध्य कर दूंगा (यह मानते हुए कि आवश्यकताओं में से एक "सर्वर प्रक्रिया चलाएं" नहीं है)। –

+1

मुझे किसी भी तरह संदेह है कि कछुआ डेवलपर्स आपसे या मेरे द्वारा सबवेर्सियन के बारे में कुछ और जानते हैं। कछुए सबवर्सन कोड पर बनाया गया है, इसलिए मुझे लगता है कि यह एक मूल सबवर्सन सीमा है। –

+0

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

2

मैं तुम्हें अपने आप को स्थापित कर रहे हैं इस दृष्टिकोण के साथ समस्याओं के लिए लगता है। विंडोज CIFS (विंडोज़ फ़ाइल साझा प्रोटोकॉल) oplocking और एक साथ संशोधन के साथ ज्ञात समस्याओं का एक बहुत कुछ है, तो यह या तो कुत्ता, धीमी गति से असुरक्षित, या दोनों हो जा रहा है।

एक बहुत, अधिक, बेहतर समाधान फ़ाइल: // यूआरएल का उपयोग करने के बजाय एक असली एसवीएन सर्वर स्थापित करना है।

+0

मैं "कुत्ते धीमी" से पूरी तरह खुश हूं, क्योंकि यह निकलता है। यहां तक ​​कि "बिल्ली धीमी" भी ठीक रहेगी। बस "असुरक्षित" नहीं। मैं समझता हूं कि एक सर्वर स्थापित करना एक बेहतर तरीका है, लेकिन यह दुख की बात है कि यह इस उत्पाद के लिए एक विकल्प नहीं है। –

0

जिस तरह से हम विंडोज पर यह किया अपाचे उपयोग करने के लिए हमारे फाइलों को तैयार हुआ। Here हम इस सेटअप से बहुत खुश हैं।

+0

या आपके पास यह टूल आपके लिए कर सकता है: VisualSVN सर्वर। – reinierpost

2

यह सही ब्रो है ...

मैं वहाँ गया है। मैं भी मशीनों ... केवल एक ही चीज़ मुझे मिल गया फ़ाइलें और बड़ा सिर दर्द दूषित है की एक जोड़ी के बीच "SVN सर्वर" साझा करने के लिए फाइल सिस्टम का इस्तेमाल किया ...

एक SVN सर्वर (CollabNetSubversion सर्वर) instaled, और अब सब कुछ चिकनी चल रहा है ... कई बार मैं इसे अपने आप पेंच के अलावा ... लेकिन यह एक और कहानी

चीयर्स है ....।

एल्डो

+0

आप किस तरह के भ्रष्टाचार के मुद्दों में भाग गए थे? क्या आप बीडीबी या एफएसएफएस का उपयोग कर रहे थे? आप किस प्रकार के फाइल सिस्टम का उपयोग कर रहे थे? –

10

एक और सवाल समान है, लेकिन कहा गया था पुन: प्रदर्शन: Subversion protocol performance

SVN बुक की सिफारिश की फ़ाइल का उपयोग नहीं है कि आप करते : // प्रोटोकॉल एकाधिक उपयोगकर्ताओं के लिए

Choosing a Server Configuration:

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

भ्रष्टाचार नहीं मानक SVN उपयोग पर तभी लागू होगा, व्यवस्थापक सावधान

+0

दिलचस्प ... लिंक के लिए धन्यवाद! मुझे आश्चर्य है कि किस रिपोजिटरी भ्रष्टाचार के मुद्दों के बारे में वे चिंतित हैं। –

+2

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

4

देखने की एक तकनीकी बिंदु से नहीं है, यह पूरी तरह से फ़ाइल का उपयोग करने के लिए संभव है , क्योंकि विवर्तन एफएसएफएस पर अपने लॉकिंग तंत्र का उपयोग करता है। अन्यथा एसवीएन पुस्तक इस तरह के एक सेटअप से बचने के लिए स्पष्ट रूप से बताएगी क्योंकि बीडीबी बैकएंड में इस मुद्दे का उल्लेख किया गया था।

हालांकि, वास्तविक समस्या यह है कि किसी भी अन्य मनमानी उपकरण के साथ भंडार डेटा तक पहुंचने के लिए रिपॉजिटरी डेटाबेस तक पहुंच को सीमित कैसे करें?

आप फ़ाइल का उपयोग करते हैं: // हर कोई अपने SVN भंडार के अंदर प्रत्येक फ़ाइल को खोलने और उसकी सामग्री जो निश्चित रूप से नेतृत्व भ्रष्टाचार भंडार करने के लिए होगा बदल सकते हैं।

ओह, हर उपयोगकर्ता पूरे भंडार नष्ट कर सकते हैं!

आप svn टूल्स तक पहुंच सीमित नहीं कर सकते हैं और इसलिए फ़ाइल का उपयोग नहीं करना चाहिए: // प्रोटोकॉल।

+0

यूएम, मुझे लगता है कि एफएसएफएस और 'फाइल:' प्रोटोकॉल के बीच कोई अंतर है, नहीं? – sbi

+1

क्या आपके पास कोई समर्थन नहीं है कि भ्रष्टाचार क्यों नहीं होगा, या यह (शायद कानूनी) धारणा के आधार पर है कि एसवीएन लोग किसी भी पर्यावरण में फाइल भ्रष्टाचार से बचेंगे? –

+0

जैसा कि मीडोज ने कहा: "नेटवर्क शेयर पर दौड़ की स्थिति के लिए यह संभव है क्योंकि नेटवर्क पर पहुंचने पर फाइल सिस्टम ऑपरेशंस को परमाणु (यानी चाल) माना जाता है, परमाणु होने की गारंटी नहीं दी जाती है।", हालांकि मैं करता हूं इस मुद्दे में कोई अंतर्दृष्टि नहीं है। –

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