2008-09-25 10 views
7

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

प्रश्न: क्या वहां कोई समाधान है जो मेरे परिवर्तनों को देख सकता है, वैश्विक नाम पर ध्यान दे सकता है और उसके बाद उन लोगों को संपादित करने के लिए लागू कर सकता है जो दूसरों ने उन्हें विलय करते समय किया है?

एक ही प्रभाव प्राप्त करने का एक और तरीका कुछ प्रकार का रिफैक्टर लॉग होगा और फिर आने वाले संपादनों पर लागू होगा।

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

संपादित करें मैं वीएस के रिफैक्टर टूल से अवगत हूं। जो कुछ मैं ढूंढ रहा हूं वह कुछ ऐसा है जो मुझे अपनी कामकाजी प्रतिलिपि को दोबारा करने के बाद, अन्य लोगों के संपादन के लिए वही रिफैक्टरिंग लागू करता है जिन्हें मुझे अब मर्ज करने की आवश्यकता है।

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

+1

वर्तमान में एक अच्छा (वाणिज्यिक) विकल्प लगता है [कोड तुलना] (http://www.devart.com/codecompare/), विजुअल स्टूडियो के एक्सटेंशन प्रबंधक पर उपलब्ध है। – rsenna

+1

क्या आपने इसे चेक किया है ?? http://plasticscm.com/sm/index।एचटीएमएल आपको चाहिए, यह वास्तव में सी # उपकरण है जिसे आप – pablo

+0

खोज रहे थे तो आप वास्तव में क्या चाहते हैं एक अर्थपूर्ण पैच उपकरण है। – mbx

उत्तर

0

कम से कम वीएस 2005 मानना ​​और वैश्विक नाम एक चर/संपत्ति/समारोह है, एक रिफैक्टर है - राइट-क्लिक मेनू विकल्प का नाम बदलें इसका उपयोग किया जा सकता था। डिजाइन द्वारा यह आपके पूरे समाधान में नाम परिवर्तन का प्रचार करता है।

+0

जो कुछ मैं पहले बिट में उपयोग कर रहा हूं। यह बाद में बहुत अच्छा नहीं करता है क्योंकि यह अमान्य कोड को रिएक्टर नहीं करेगा (और जो मुझे विलय के बाद मिलता है) – BCS

0

क्या आपके बदलावों के लिए आवश्यक समय को कम करना संभव नहीं होगा? एक या अधिक सप्ताह काम करता है ...

0

मुझे आपकी समस्या समझा। दुर्भाग्य से, मुझे लगता है कि सिंक्रनाइज़ करते समय इस काम को करने के लिए पर्याप्त एसवीएन स्क्रिप्ट नहीं है।

शायद आपकी टीम एसवीएन के साथ अधिक उचित तरीके से काम कर रही है, यह स्थिति अप्रभावी हो सकती है। जब आप एक svn करते हैं: अपनी कार्यशील प्रति में अपडेट करें और विलय संचालन का एहसास करें, परिवर्तन करने से पहले अद्यतन समाधान को पुनर्निर्माण करना एक अच्छा अभ्यास है।

विलय होने पर स्वचालित रूप से ऐसा करने की क्षमता के साथ एक svn स्क्रिप्ट होने पर, वास्तव में महान होगा।

1

अन्य रिफैक्टरिंग से पृथक नाम बदलना जारी रखें। वे आम तौर पर स्वचालित हो सकते हैं और इसलिए परिवर्तन करना आसान है। आप अन्य इंजीनियरों को नरक में विलय करने के लिए स्क्रिप्ट वितरित कर सकते हैं ताकि फाइलों पर परिवर्तन करने के लिए नरक मर्ज हो सके।

रिफैक्टरिंग स्वचालित करने का कोई आसान तरीका नहीं है, इसलिए इसे सरल रखें। एक नाम केवल मिनट लेना चाहिए और आपको न्यूनतम परीक्षण के साथ जांच करने और प्रतिबद्ध करने में सक्षम होना चाहिए।

+0

उस लेट बिट को पुन: सामान्य रूप से मैं सहमत हूं, हालांकि एक उपकरण जो कुछ विशेष वर्गों को रेफैक्टरिंग (स्वचालित हैं) और उन्हें अन्य कोड पर लागू करना व्यावहारिक होना चाहिए। – BCS

10

Semantic Merge नामक उपयोग के लिए एक वाणिज्यिक उपकरण है। वे 15-दिन का नि: शुल्क परीक्षण प्रदान करते हैं, ओपन सोर्स प्रोजेक्ट इसे मुफ्त में उपयोग कर सकते हैं (contact the support)।

अर्थात् विलय के पीछे कंपनी में a git client with integrated Sematic Merge भी है जो वर्तमान में बीटा है (यहां, कुछ short intro videos है)।

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