2010-08-09 15 views
13

मेरे पास आमतौर पर एक परियोजना की कई प्रतियां होती हैं, उदाहरण के लिए: ट्रंक की एक प्रति और अंतिम रिलीज शाखा में से एक। ग्रहण से मेरी प्रोजेक्ट फ़ाइलों को साफ़ करने के लिए, उन्हें ग्रहण कार्यक्षेत्र के बाहर निर्देशिका में सबवर्जन से चेक आउट किया गया है।ग्रहण में, प्रोजेक्ट के सापेक्ष लॉन्च कॉन्फ़िगरेशन कैसे करें?

मैं प्रोजेक्ट को एक्लिप्स में आसानी से आयात करने योग्य बनाना चाहता हूं और multipleanswers से निर्देशों का पालन करना चाहता हूं।

समस्या यह है कि मेरी .launch फ़ाइलें इस परियोजना का नाम हार्डकोडेड है। जब कोई नई प्रोजेक्ट आयात किया जाता है, तो लॉन्च फ़ाइलें रन कॉन्फ़िगरेशन मेनू में प्रदर्शित होती हैं, अगर प्रोजेक्ट में निर्यात किए गए एक ही नाम का बिल्कुल नाम है। यह मुझे एक ही परियोजना के दो संस्करण रखने के लिए मना करता है।

यह .launch और एक चींटी कार्य से उत्पन्न .project फ़ाइलें है क्या करने के लिए एक ही रास्ता की तरह लग रहा है, लेकिन मैं किसी को भी इस समाधान का उपयोग नहीं दिख रहा। हो सकता है कि मेरे पास हमेशा एक ही नाम के साथ कई कार्यक्षेत्र और परियोजना होनी चाहिए।

ऐसा करने का सबसे अच्छा तरीका क्या है?

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

+0

मेरा मानना ​​है कि आम परिदृश्य यह है कि स्विचिंग शाखाएं अभी भी आपको एक ही परियोजना में छोड़ देती हैं। यह मेरे मामले में अच्छी तरह से काम करता है। फिर भी, यह एक अच्छा सवाल है ... – zvikico

+0

निश्चित रूप से, समस्या यह है कि मेरे पास मेरे कार्यक्षेत्र में गैर-परिवर्तनित परिवर्तन नहीं हैं और उन्हें उत्पादन संस्करण में कुछ ठीक करना है। जब मैंने सी ++ के साथ काम किया, तो मेरे पास 5 कार्यक्षेत्र होते थे: ट्रंक, वर्तमान में संपादित ट्रंक, अनुकूलित ट्रंक, रिलीज, अनुकूलित रिलीज। एकाधिक चेकआउट मेरी उत्पादकता में मदद करते हैं, खासकर जब चेकआउट या बिल्ड प्रक्रिया धीमी होती है। – neves

उत्तर

6

याद रखें कि .launch विन्यास फाइल अपने कार्यक्षेत्र में होने की जरूरत नहीं है।
वे के रूप में मैं the answer you refer to में उल्लेख अपने <project>/.settings में हो सकता है।

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


ओपी जोड़ता है:

परियोजना में एक ही नाम होना आवश्यक है, लेकिन परियोजना चेकआउट dir किसी भी नाम हो सकता है।

लांच फ़ाइल काम करने के लिए, आप चर ${workspace_loc:ProjectName} का उपयोग कर किसी भी फाइल को संदर्भित करने के लिए है।
जावा फ़ाइलों को एक पथ का उपयोग करके संदर्भित किया जा सकता है: '/ProjectName/src/package/MyFile.java'
इस तरह, उपवर्तन भंडार के साथ बातचीत करने के लिए किसी भी उपकरण का उपयोग करना आसान है।

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

+0

उत्तर के लिए धन्यवाद। मैं इस दृष्टिकोण का परीक्षण कर रहा हूं। मेरा निष्कर्ष यह है कि यदि मैं ग्रहण के बाहर किसी उपकरण से प्रोजेक्ट को चेकआउट करता हूं (उदा। सबवर्सन कमांड लाइन), चेकआउट डीआईआर * में * ग्रहण प्रोजेक्ट नाम होना चाहिए। क्या यह सही है? – neves

+0

@neves: यह काफी संभव है, मेरी सभी निर्देशिकाओं को ग्रहण परियोजना नाम के नाम पर रखा गया है। – VonC

+1

ठीक है, मैं इसे कुछ हद तक सापेक्ष बना सकता हूं। परियोजना * के पास एक ही नाम होना चाहिए, लेकिन परियोजना चेकआउट डीआईआर का कोई नाम हो सकता है। लॉन्च फ़ाइल काम करने के लिए, आपको वैरिएबल $ {workspace_loc: ProjectName} का उपयोग करके किसी भी फ़ाइल का संदर्भ देना होगा। जावा फ़ाइलों को एक पथ का उपयोग करके संदर्भित किया जा सकता है: '' /ProjectName/src/package/MyFile.java '' इस तरह, उपवर्तन भंडार के साथ बातचीत करने के लिए किसी भी उपकरण का उपयोग करना आसान है। मैं ग्रहण का उपयोग करने वाले व्यक्ति के लिए जीवन को आसान बनाना चाहता हूं, लेकिन मैं इसे किसी भी व्यक्ति का उपयोग करने के लिए मजबूर नहीं करना चाहता हूं। – neves

2

मेरे सिफारिश चेकआउट स्थान पर कार्यक्षेत्र टाई करने के लिए है, और फिर आप सबवर्सन में प्रासंगिक परियोजनाओं के लिए लांच विन्यास का उपयोग कर सकते हैं।

मेरे निर्देशिका संरचना इस तरह दिखता है:

{checkout root} 
    | 
    +code 
    | 
    -workspace 

आपके मामले में, कि ट्रंक के लिए एक कार्यक्षेत्र का मतलब होगा, और किसी भी अन्य शाखा/टैग आप की जाँच करें। मैं अपनी सभी परियोजनाओं को वर्कस्पेस के बाहर भी रखता हूं। Subversion में वर्कस्पेस निर्देशिका खाली है; मैं बस भाई पेड़ से कार्यक्षेत्र में परियोजना संदर्भ (ओं) को दोबारा जोड़ता हूं। यदि आप अपनी ग्रहण सेटिंग्स को निर्यात करते हैं, तो यह भी मदद करता है, क्योंकि आप उन्हें प्रत्येक नए कार्यक्षेत्र में फिर से आयात कर सकते हैं।

मैं वाजिब ClearCase साथ ग्रहण प्रयोग करने के लिए आईबीएम और वाजिब श्वेत पत्र की एक जोड़ी से इस दृष्टिकोण ली गई। यह तब तक काम करना चाहिए जब तक आपको उसी कार्यक्षेत्र में एक ही प्रोजेक्ट के कई संस्करणों को खोलने की आवश्यकता न हो।

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

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