2009-09-15 12 views
11

मैं इस परियोजना पर एकमात्र डेवलपर हूं।ग्रहण के साथ काम करते समय, क्या मुझे कार्यक्षेत्र को स्रोत नियंत्रण में जोड़ना चाहिए?

+2

यह भी देखें http://stackoverflow.com/questions/116121/do-you-keep-your-project-files-under-version-control/119377#119377 – VonC

उत्तर

14

मैं पूरा वर्कस्पेस नहीं जोड़ूंगा, लेकिन मैं .classpath और .project फ़ाइलों (साथ ही साथ स्रोत भी) जोड़ दूंगा ताकि आप आवश्यकता के जरिए प्रोजेक्ट को फिर से बना सकें।

+0

+1। फिर भी, वे प्रोजेक्ट स्कोप के हैं, वर्कस्पेस नहीं। वर्कस्पेस फ़ोल्डर में सीधे .metadata और अन्य .xxxx निर्देशिकाओं के बारे में कैसे? – van

+2

मैं इस विचार से पूरी तरह से असहमत हूं कि आपकी .classpath और .project फ़ाइलों को संस्करण नियंत्रण में जोड़ा जाना चाहिए। वे आपके कार्यक्षेत्र के लिए विशिष्ट हैं। अगर कोई और आपकी परियोजना को जांचने का प्रयास करता है और उनके पास ग्रहण अलग-अलग सेट होता है (विभिन्न प्लगइन्स, सेटिंग्स इत्यादि) इससे समस्याएं पैदा हो सकती हैं। परियोजना की जांच करते समय उन्हें आसानी से पुनर्निर्मित किया जा सकता है, इसलिए यदि परियोजना पर केवल एक व्यक्ति है (अभी अभी) उन्हें स्टोर करने की कोई आवश्यकता नहीं है। –

+1

.classpath के बारे में इतना कार्यक्षेत्र-विशिष्ट क्या है? मैं समझ सकता हूं। प्रोजेक्ट भाग, हालांकि मुझे लगता है कि लोगों को वीसीएस में रखना बहुत आसान है, लेकिन क्लासपाथ? इसे वर्कस्पेस-स्वतंत्र बनाना आसान है (और यह आमतौर पर है)। –

5

सं

फ़ाइलें कि (बाइनरी फ़ाइलें, प्रलेखन एक जनरेटर द्वारा उत्पादित) आईडीई द्वारा या एक निर्माण प्रक्रिया द्वारा उत्पन्न कर रहे स्रोत नियंत्रण में जाँच की जानी चाहिए। केवल एक ही फाइल जिन्हें चेक किया जाना चाहिए आपकी स्रोत फाइलें और बाह्य पुस्तकालय हैं जो आपकी स्रोत फाइलें उपयोग करती हैं।

आप भी इस सवाल का जवाब में रुचि हो सकती: What should NOT be under source control?

+1

असहमत, परियोजना के कम से कम कुछ तत्व एससीएम के तहत होना चाहिए। अन्यथा डेवलपर्स को परियोजना अपडेट कैसे प्राप्त होते हैं? हमेशा कुछ परियोजना मेटाडेटा है जो शामिल करने के लिए मूल्यवान है। –

+2

आपका क्या मतलब है "प्रोजेक्ट अपडेट"? इसके अलावा, अगर मैं एक अलग आईडीई का उपयोग कर रहा हूं तो क्या होगा? या एक आईडीई के बजाय एक पाठ संपादक (emacs? Vim?)? केवल स्क्रिप्ट, स्रोत फाइलें और निर्भरताओं का निर्माण किया जाना चाहिए। –

+0

दिलचस्प लिंक, लेकिन ग्रहण पर शून्य टिप्पणियां ... – van

2

मैं केवल परियोजना (ओं) के लिए प्रतिबद्ध हैं आप पर काम कर रहे है, साथ ही .classpath और .project फ़ाइलें, और नहीं पूरे कार्यक्षेत्र अपने आप।

+0

+1: @nstehr। क्या आप प्रोजेक्ट के ".settings" फ़ोल्डर के अंतर्गत "org.eclipse.core.resources.prefs" फ़ाइल उदाहरण के लिए नहीं जोड़ेंगे? क्यूं कर? – van

2

भले ही आप एकमात्र डेवलपर हैं, तो .settings निर्देशिका करने से बचें। आप ग्रहण के किसी अन्य संस्करण पर स्विच कर सकते हैं, या प्लगइन के एक अलग सेट के साथ एक और स्थापना, और जब आप दूसरी स्थापना में परियोजनाओं की जांच करते हैं तो .settings निर्देशिका अलग होगी। इसके अलावा .metadata निर्देशिका भिन्न होने के लिए बाध्य है।

जिसके अनुसार, को बिना Maven का उपयोग करने के लिए इतना है कि ग्रहण .project और .classpath फ़ाइलें उत्पन्न किया जा सकता प्रयास में जांच की जानी।

+1

मेवेन और जेनरेटिंग के लिए +1। प्रोजेक्ट और .classpath –

1

मैं एक होने के (सबवर्सन के साथ) विचार के साथ खेला है "MyProject_Eclipseproj" फ़ोल्डर जिसमें केवल ग्रहण प्रोजेक्ट फ़ाइलें और निर्देशिकाएं होती हैं, एक svn: externals prop जो सभी "MyProject" फ़ाइलों/निर्देशिकाओं में खींचती है।

तो, लेआउट होगा:

/repos/trunk/MyProject 
/repos/trunk/MyProject/build.xml 
/repos/trunk/MyProject/src 
/repos/trunk/MyProject/src/com 
/repos/trunk/MyProject/src/com/mypackage 
/repos/trunk/MyProject/src/com/mypackage/MyClass.java 
/repos/trunk/MyProject_Eclipse_34 <- external prop goes here 
/repos/trunk/MyProject_Eclipse_34/.settings/ 
/repos/trunk/MyProject_Eclipse_34/.project 
/repos/trunk/MyProject_Eclipse_34/.classpath 
/repos/trunk/MyProject_Eclipse_35 <- external prop goes here 
/repos/trunk/MyProject_Eclipse_35/.settings/ 
/repos/trunk/MyProject_Eclipse_35/.project 
/repos/trunk/MyProject_Eclipse_35/.classpath 

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

8

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

  • जावा> कोड style-> फ़ॉर्मेटर
  • जावा> कोड style-> स्वच्छ ऊपर
  • जावा> कोड style-> कोड:

    इन फ़ाइलों के उदाहरण के लिए उन सेटिंग्स हैं टेम्पलेट्स

  • जनरल> संपादक-पाठ संपादकों-वर्तनी-शब्दकोश
  • किसी भी अन्य वरीयताओं आपको लगता है कि समर्थन आयात करने के लिए व्यापक परिवर्तन किए हैं/निर्यात

आपको परियोजना के लिए प्राथमिक स्रोत/संसाधनों में जांच करनी चाहिए। जैसा कि अन्य ने नोट किया है, एक विशिष्ट परियोजना के लिए इसमें। प्रोजेक्ट और .classpath फ़ाइलें शामिल हैं।

प्रोजेक्ट के प्रकार के आधार पर, मैं प्रोजेक्ट से .settings फ़ोल्डर जोड़ूंगा। इस फ़ोल्डर में प्रोजेक्ट-विशिष्ट सेटिंग्स हैं जो प्लेटफ़ॉर्म प्राथमिकताओं को ओवरराइड करती हैं, और अन्य प्रोजेक्ट-विशिष्ट सेटिंग्स। यदि वे आपकी परियोजना के लिए आवश्यक हैं तो मैं उन्हें जोड़ दूंगा।

+0

आपको +1, सर: मूल रूप से मैं जो कह रहा था http://stackoverflow.com/questions/116121/do-you-keep-your-project-files- अंडर-वर्जन-कंट्रोल/119377 # 119377, एक साल पहले से अधिक;) – VonC

+0

अनैनी - दिन में लगभग एक वर्ष। – akf

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