2011-10-27 16 views
5

मैं उपclipse एपीआई का उपयोग ग्रहण के लिए प्लग-इन बनाने के लिए कर रहा हूं जो Subclipse प्लग-इन के माध्यम से होने वाली सबवर्जन घटनाओं के लिए सुनता है। मैं मूल रूप से एक श्रोता इंटरफ़ेस को कार्यान्वित कर रहा हूं जिसे तब चलने वाली घटनाओं के बारे में रन-टाइम के दौरान अधिसूचित किया जाता है।ईजीआईटी/जेजीआईटी प्लग-इन के माध्यम से गिट घटनाओं के लिए श्रोता कैसे बनाएं?

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

धन्यवाद!

उत्तर

0

अभी तक कोई सार्वजनिक श्रोताओं या विस्तार बिंदु उपलब्ध नहीं हैं। कमिट संवाद में कुछ विस्तार बिंदु और शायद अन्य संवाद भी हैं, लेकिन ये सभी गैर-सार्वजनिक हैं, और भविष्य में बदला जा सकता है। हालांकि, अपनी रुचियों को ट्रैक करने के लिए, आपको ईजीआईटी प्रोजेक्ट में Eclipse Bugzilla पर एक वृद्धि अनुरोध दर्ज करना चाहिए (मुझे लगता है कि, पहले से ही समान सुविधाओं के लिए कुछ अनुरोध हैं, इसलिए आप उन्हें खोज सकते हैं और उनके लिए वोट दे सकते हैं)।

5

आप सभी खजाने या निम्न विधियों के माध्यम से अलग-अलग खजाने के लिए JGit के माध्यम से श्रोताओं को पंजीकृत कर सकते हैं:

वैश्विक श्रोताओं सभी खजाने के लिए अधिसूचित:

org.eclipse.jgit.lib.Repository.getGlobalListenerList().addIndexChangedListener 
org.eclipse.jgit.lib.Repository.getGlobalListenerList().addConfigChangedListener 
org.eclipse.jgit.lib.Repository.getGlobalListenerList().addRefsChangedListener 

श्रोताओं एक invidiual भंडार पर:

org.eclipse.jgit.lib.Repository.getListenerList().addIndexChangedListener 
org.eclipse.jgit.lib.Repository.getListenerList().addConfigChangedListener 
org.eclipse.jgit.lib.Repository.getListenerList().addRefsChangedListener 

ये श्रोताओं सूचकांक में परिवर्तन, भंडार विन्यास में परिवर्तन, और repos में परिवर्तन के लिए घटनाओं का समर्थन करते हैं सिद्धांत के संदर्भ (शाखाएं, टैग, आदि)।

आप सभी के माध्यम से EGit में पंजीकृत खजाने पा सकते हैं निम्नलिखित:

फोन करके सब EGit में मौजूद डेटा संग्रह स्थान को पूर्ण पथ प्राप्त करें:

org.eclipse.egit.core.Activator.getDefault().getRepositoryUtil().getConfiguredRepositories() 

आप एक विशिष्ट करने के लिए एक संभाल प्राप्त कर सकते हैं पिछले विधि से लौटाए गए पथ के लिए फ़ाइल बनाकर रिपोजिटरी ऑब्जेक्ट और फिर उस फ़ाइल के साथ निम्न को कॉल करें:

org.eclipse.egit.core.Activator.getDefault().getRepositoryCache().lookupRepository 

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

  • कोई संबंधित समस्या नहीं^_^