2012-04-21 11 views
6

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

  1. जोड़ा गया सभी वर्गों फ़ोल्डर:

    निम्नलिखित है कि मैं क्या कर रही Googling और आसपास के लोगों को पूछ कर की कोशिश की है है। वास्तव में समय के लिए कक्षाओं फ़ोल्डर .gitignore डालने की कोशिश की।

  2. मशीन को एक दिन के लिए चालू रखकर अनुक्रमण समाप्त करने के लिए पर्याप्त समय दें।
  3. विकास करते समय गिट स्टेजिंग, इतिहास और अन्य सभी ग्रहण दृश्य ग्रहण कार्यक्षेत्र में बंद हैं।
  4. क्या "गिट जीसी" था - यह कमांड लाइन प्रदर्शन पर अंतर डालता है, लेकिन ईजीट के लिए शायद ही कोई अंतर है।
  5. गिट के लिए अनचेक लेबल सजावट। प्राथमिकताएँ -> सामान्य -> ​​उपस्थिति -> लेबल सजावट।
  6. पथ से साइगविन को हटा दिया गया है, जैसा कि मंच में कहीं भी पढ़ा गया है कि जेजीआईटी पथ रूपांतरण के लिए साइगविन का उपयोग कर सकता है।
  7. एक्लिप्स (प्राथमिकताएं -> टीम -> गिट -> विंडो कैश) में 10 से 70 मीटर तक विंडो कैश बढ़ाया गया।

पीएस: गिट भंडार svn रिमोट रिपोजिटरी को इंगित कर रहा है। इसके अलावा, मैं गिट नौसिखिया हूं इसलिए सेटअप में कुछ गलती हो सकती है, इसलिए कृपया कुछ भी इंगित करने के लिए स्वतंत्र महसूस करें।

यहां मेरी सिस्टम जानकारी है, मेरे पास बहुत फैंसी हार्डवेयर चश्मे नहीं हैं, लेकिन कुछ रैम छोड़ने (8 जीबी) हैं।

  • Git-जीयूआई संस्करण 0.16 GITGUID
  • Git संस्करण: 1.7.10.mysysgit.1
  • JDK 1.6_025
  • ग्रहण संस्करण: मानकों के साथ 3.7.2 जावा ईई संस्करण -Xms1536m -Xmx1536m
  • EGit: 1.3.0.201202151440
  • विंडोज 7 प्रोसेसर: कोर 2 डुओ 2.6GHz

उत्तर

0

है सीवीसीएस (सेंट्रलाइज्ड वीसीएस) और डीवीसीएस (वितरित) वीसीएस के बीच समस्या:

  • एक एसवीएन रेपो में जीबी के डेटा का डेटा हो सकता है।
  • एक गिट रेपो को छोटा रखा जाना चाहिए, और एकाधिक गिट रेपो के माध्यम से प्रतिनिधित्व करने के लिए submodules का लाभ उठाएं।

मुझे संदेह है कि बहुत से प्रतिनिधि एक विशाल गिट रेपो से बेहतर प्रदर्शन कर सकते हैं। अन्यथा, सिंक्रनाइज़ेशन समस्याएं हो रही हैं, जैसे bug 323839 में।

लेकिन एक SVN कार्यक्षेत्र आप yourGit रेपोस करने से कॉपी कर रहे हैं, जो के माध्यम से मैन्युअल प्रबंध Git रेपोस के बीच (सरलीकृत) तुल्यकालन और एक SVN रेपो, इसका मतलब है कि, या जो आप के लिए Git रेपोस कॉपी कर रहे हैं वापस नए विकास ने करने के लिए एसवीएन वर्कस्पेस में प्रतिबद्ध करने के लिए

+1

वॉनसी - सहमत हैं, लेकिन निश्चित रूप से एजीटी कार्यान्वयन के साथ कुछ समस्या है, क्योंकि एक ही बड़े गिट रेपो इंटेलिजे के साथ लिनक्स बॉक्स पर बहुत अच्छा प्रदर्शन करता है), हालांकि मैं मानता हूं कि लिनक्स फाइल सिस्टम बहुत तेज हैं। तो, क्या मैं एक केंद्रीय गिट रेपो बना सकता हूं जो एसवीएन का क्लोन है, और उसके बाद विशाल केंद्रीय गिट रेपो से कई छोटे गिट रेपो हैं? – Hemant

+0

@ हेमंत नहीं, आप नहीं कर सकते (एसवीएन रेपो को वापस करने की संभावना के साथ नहीं)। आप एक गिट रेपो को परिभाषित कर सकते हैं जो सभी छोटे लोगों को submodules के रूप में घोषित करता है, लेकिन एसवीएन रेपो के साथ कोई लिंक नहीं होगा। यह एक मैनुअल सिंक्रनाइज़ेशन तंत्र छोड़ देता है। – VonC

+0

वोन्क - इसे स्पष्ट करने के लिए धन्यवाद। मैं अपने विकल्पों की खोज जारी रखूंगा ... मुझे उम्मीद है कि एजीट टीम कुछ प्रदर्शन तेजी से ट्यूनिंग करेगी। – Hemant

3

यह शायद आपकी समस्या नहीं है लेकिन यह पृष्ठ egit प्रदर्शन के संबंध में Google पर आता है। प्रदर्शन समस्याओं का स्रोत एक बार अनचाहे (अनुक्रमित?) फ़ाइलें है। सुनिश्चित करें कि आपके पास स्थानीय निर्देशिका पेड़ में बड़ी संख्या में अनचाहे फ़ाइलें नहीं हैं क्योंकि यह गंभीरता से प्रदर्शन प्रदर्शन को प्रभावित करती है। मैंने 10 के + फाइलों के साथ एक निदेशक को हटा दिया और प्रदर्शन को दो सेकंड लेने के लिए प्रतिबद्ध संवाद खोलने के लिए 1+ मिनट लेने से लिया गया।

+0

मेरे पास मेरे भंडार में कोई अनचाहे फ़ाइलें नहीं हैं। मैं विशाल भंडार पर काम कर रहा हूं जिसमें लगभग ~ 28k जावा फाइलें और 136k काम करता है, लेकिन उनमें से अधिकतर पहले ही पैक किए जाने चाहिए। – Hemant

+0

'git: // git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git' क्लोनिंग करने का प्रयास करें। एक लिनक्स कर्नेल चेकआउट में लगभग 45k फाइलें होती हैं और कर्नेल 300k से अधिक काम करता है। 28k फाइलों और 136 के साथ एक रेपो एक बड़ा है, बड़ा नहीं। –

+0

एक विशाल रेपो के लिए, 'https: // github.com/mozilla/gecko-dev.git' क्लोन करने का प्रयास करें। क्लोन को अकेले तार पर लगभग 1.5 जीबी डेटा स्थानांतरित करने की आवश्यकता होगी ... –