2010-07-22 16 views
6

मैं एक प्रोजेक्ट स्थापित कर रहा हूं जिसे मेरे संगठन में कई प्रोग्रामर के बीच साझा किया जाएगा। हम गिट का उपयोग कर रहे हैं - जिसके लिए मैं एक नवागत हूं। प्रोजेक्ट निर्देशिका में दस्तावेज़ीकरण निर्देशिकाओं के प्रतीकात्मक लिंक शामिल हैं जो संस्करण नियंत्रण के अंतर्गत नहीं होना चाहिए। मैं संस्करण नियंत्रण के तहत सिमलिंक को सिरिंकिंक के रूप में बनाए रखना चाहता हूं, बजाय उन्हें संदर्भित करने और सिमलिंक निर्देशिका की सभी सामग्री को संस्करण नियंत्रण के तहत रखा गया है।प्रतीकात्मक लिंक के ईजीआईटी के उपचार को नियंत्रित करना

मुझे लगता है कि गिट कमांड लाइन उपकरण जिस तरह से मैं चाहता हूं: git add -A। हालांकि, यदि मैं प्रोजेक्ट संदर्भ मेनू पर Team->Track का उपयोग कर, वर्तमान में अनवरोधित फ़ाइलों को जोड़ने के लिए गिट, ईजीआईटी के ग्रहण संस्करण का उपयोग करने का प्रयास करता हूं, तो ईजीआईटी प्रत्येक फाइल को सिम्लिंक निर्देशिकाओं में जोड़ना चाहता है। क्या eGit को बताने का कोई तरीका है कि, नहीं, ये वास्तव में सिम्लिंक हैं, और इसे संदर्भित नहीं किया जाना चाहिए?

+0

आपके प्रश्न का उत्तर नहीं है, लेकिन यदि आप गिट के लिए नए हैं, तो मैं अत्यधिक पढ़ने की सलाह देता हूं: http://progit.org/book/ मैंने कुछ डीवीसीएस की कोशिश की है, और बस बनाने के साथ चारों ओर फंसे हुए हैं गिट के साथ काम करता है, लेकिन एक बार मैंने इसे अध्याय 3 के माध्यम से/एक बार बनाया है, मुझे लगा है कि मैं वास्तव में काफी शक्तिशाली हो सकता हूं। आपको इसे पढ़ना चाहिए (और आपकी टीम पर कोई भी जो नहीं है!) –

+5

मेरे दो सेंट: मैंने हाल ही में ईजीट पर एक नज़र डाली थी, और गिट को बहुत अच्छी तरह से जानता है, मैं कहूंगा कि आप शूटिंग की तरह हैं इसे इस्तेमाल करके पैर में खुद को। आमतौर पर उपयोग की जाने वाली गिट सुविधाओं का भरपूर उपयोग अभी तक लागू नहीं किया गया है, सबसे विशेष रूप से * मर्ज * (फास्ट-फॉरवर्ड को छोड़कर)। आपको बाहरी ग्रहण से 'गिट पुल' का उपयोग करना होगा। हाँ, आप अभी भी कुछ चीजों के लिए ईजीट का उपयोग कर सकते हैं, लेकिन एक अजीब प्लगइन का उपयोग क्यों करें जो आपको राइट-क्लिक मेनू के माध्यम से जाने के लिए मजबूर करता है, जब आप केवल गिट/msysgit का उपयोग कर सकते हैं? यदि आप एक जीयूआई पर जोर देते हैं तो हमेशा गिट-गुई और गिटक होता है - और वे ईजीट के इंटरफेस से क्लीनर हैं। – Cascabel

+0

@ जेफ्रोमी: मैं एक ही निष्कर्ष तक पहुंचने शुरू कर रहा हूं। –

उत्तर

3

हमारी समस्या यह है इस में चर्चा की गई: Eclipse Community Forums Thread

ऐसा लग रहा है इस समय Linux देशी lstat समर्थन पोर्टेबल बनाने के लिए भी आसान नहीं है। कम आम denominator प्रतिमान कि वे जावा में प्रोग्रामिंग ग्रहण के लिए है लिनक्स या मैक देशी सामान करना मुश्किल है। (पढ़ें: * खांसी * विंडोज सिम्लिंक का समर्थन नहीं करता * खांसी *)।

अच्छी खबर यह है:

यह संभव है, लेकिन वे एक तरह से है कि उनके 'एक बार टेस्ट लिखें हर जगह' प्रोग्रामिंग मानकों के अनुरूप है में यह कोड करने के लिए आवश्यकता होगी। मुझे लगता है कि इस समस्या के कारण EGit का उपयोग करते समय लिनक्स पर कुछ देशी stat और lstat समर्थन होना महत्वपूर्ण है, साथ ही Eclipse bug #346079

सीधे शब्दों में होने EGit कारणों मंदी स्थापित & आईडीई फ्रीज़ जब एक Git ताज़ा कर :-(

बुरी खबर है:

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

यह मैं लगभग पर्याप्त है कि मैं देख रहा हूँ के लिए तैयार हूँ अगर यह मौजूदा प्रतिबद्ध संदेश टेम्पलेट उत्पादन के लिए ग्रहण/Mylyn क्वेरी करने के लिए कुछ स्क्रिप्ट बनाने के लिए, और Git कमांडलाइन इस का उपयोग करने से प्रतिबद्ध करने के लिए संभव है गुस्सा दिलाना है। मुझे यकीन नहीं है कि प्रति-उपयोगकर्ता-कहानी सुविधा शाखा निर्माण कैसे काम करेगा।

तक इन समस्याओं को ठीक किया गया हो, मुझे यकीन है कि EGit उपयोगकर्ताओं का एक बहुत :-(

+2

हालांकि विंडोज सिमलिंक का समर्थन करता है। एमकेलिंक – Jherico

+0

हां, यह सच है कि विंडोज के नए संस्करण (विन सर्वर 2008, Vista, Win7 और आगे)। संभवतः यह संभव है कि ग्रहण लोग इस कार्यक्षमता का उपयोग कर सकें, लेकिन मैं इस बारे में अनिश्चित हूं कि वे विंडोज के पुराने संस्करणों के साथ कैसे पिछड़ा-संगत होना चाहते हैं। – TrinitronX

+0

दूसरी समस्या यह थी कि जावा ने 1.7 से पहले सिम्लिंक का समर्थन नहीं किया था – user1902135

3

हम इस समस्या से सामना करना पड़ा प्रतिबद्ध स्क्रीन कोई अंत को अव्यवस्थित, और कभी कभी किसी को भूल के कारण खुश नहीं होगा हूँ उनके द्वारा बनाई गई एक फ़ाइल शामिल करें।

जिस समाधान के साथ हम आए थे उसे मैन्युअल रूप से संपादित करना था।gitignore फ़ाइलों रास्तों जहां लिंक की गई फ़ाइलों प्रकट होता है जब सिमलिंक dereferenced थे शामिल करने के लिए:

/ProjectHomeFolder/.gitignore

जब से हम प्ले फ्रेमवर्क में काम कर रहे थे हम भी निम्नलिखित ध्यान न दी संपादित: /ProjectHomeFolder/conf/.gitignore
/ProjectHomeFolder/public/.gitignore

हम बस मॉड्यूल है कि सांकेतिक रूप से लिंक किया गया से प्रत्येक के लिए /ModuleName जोड़ा गया है और अब egit उन्हें ठीक से ध्यान नहीं देता, पूर्णता के लिए यहाँ है मेरी जड़ की पूरी सामग्री। gitignore फ़ाइल, कि सी परियोजना के रूट निर्देशिका में ts:

/.project
/.classpath
/.gitignore
/ग्रहण
/tmp
/crud
/.git
/.settings
/मॉड्यूल
/conf
/betterlogs-1.0
/chrono टिकट-0.1
/logisimayml-1.5
/betterlogs-1.0
/sass-1.1
/deadbolt-1.4.2
/jquery-1.0
/log4play-0.5
/messages-1.1.1
/navigation-0.1
/jqueryui-1.0
/scaffold-0.1
/table-1.2
/tabularasa-0.2