2010-03-13 11 views
8

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

उपयोगकर्ता एक फ़ाइल को सही क्लिक करके और "इसे संपादित करके" चुनकर फ़ाइल की जांच करता है। यदि किसी अन्य उपयोगकर्ता ने एक ही फ़ाइल को संशोधित करने का प्रयास किया तो उसे एक त्रुटि मिलेगी। कोई भी 2 उपयोगकर्ता एक ही समय में एक ही फ़ाइल को संपादित नहीं कर सके। कोई फैंसी विलय नहीं। कोई संघर्ष नहीं और कोई संघर्ष संकल्प नहीं।

मैं समझता हूं कि सबवर्सन के पीछे दर्शन अलग है, लेकिन क्या कोई तरीका है कि ऊपर वर्णित इस व्यवहार को सबवर्जन के साथ डुप्लिकेट किया जा सकता है?

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

तो मूल रूप से: क्या विजुअल सोर्स सेफ के व्यवहार को सबवर्सन और अंखएसवीएन का उपयोग करके डुप्लिकेट किया जा सकता है?

+2

आप क्यों चाहेंगे? इस तरह की प्रक्रिया के लिए सबवर्सन डिज़ाइन नहीं किया गया था। यदि आप काम करने का वीएसएस तरीका पसंद करते हैं, तो वीएसएस का उपयोग क्यों न करें? – Thomas

+0

ठीक है, मैं नहीं कर सकता। सबवर्सन चुना गया था और इसमें कोई बात नहीं थी। – Para

+0

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

उत्तर

7

स्रोत सुरक्षित पर उपversण का उपयोग करने का बिंदु यह है कि में अनन्य लॉक नहीं है और कई लोग एक ही फ़ाइल पर काम कर सकते हैं।

यदि आप फ़ाइलों पर विशेष ताले के साथ इसका उपयोग करना शुरू करते हैं तो आप एसवीएन के बहुत से लाभ खो रहे हैं।

विचार यह है कि आप कोड के विलय के दौरान संघर्ष को ठीक करते हैं।

this देखें प्रश्नों पर कुछ चर्चा के लिए प्रश्न और उत्तर (Revision control locking: Is the jury still out?)।

+1

+1। –

2

आपको उन फ़ाइलों पर svn:needs-lock उपversण गुण सेट करने की आवश्यकता है जिन्हें आप स्पष्ट रूप से लॉक करना चाहते हैं। यह वास्तव में केवल उन फ़ाइलों के लिए अनुशंसित है जिन्हें आसानी से विलय नहीं किया जा सकता है, जैसे (अधिकांश) बाइनरी फाइलें और पाठ/कोड फ़ाइलों पर नहीं। आम तौर पर टेक्स्ट/कोड फाइलें स्वचालित रूप से मर्ज हो जाती हैं, और जब वे विवाद नहीं करते हैं तो आमतौर पर हल करना आसान होता है।

अंखएसवीएन आपको फ़ाइल को लॉक करने के लिए कहेंगे (VSS में चेकआउट के समान) जब आप svn:needs-lock संपत्ति सेट करते हैं तो इसे संपादित करने का प्रयास करते हैं। यदि आप "फ़ाइलों को स्वचालित रूप से लॉक करें" सुविधा सक्षम करते हैं, तो लॉक संवाद दबा दिया जाता है, और आप बिना किसी संवाद के फ़ाइल पर लॉक ले लेंगे।

Svnbook the differences between a lock-modify-unlock and copy-modify-merge बताते हैं, और svn:needs-lock व्यवहार भी

6

वर्णन किया गया है Agent SVN सबवर्सन के लिए एक MS-SCCI प्लगइन (सिर्फ वीएसएस) की तरह है, तो यह सिर्फ वीएसएस की तरह दृश्य स्टूडियो के साथ एकीकृत करता है।

इसमें भी विकल्प चेक आउट पर लॉक करें और उस सुविधा के साथ VSS की तरह बहुत कुछ महसूस होता है।

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

  • कोई संबंधित समस्या नहीं^_^