2012-01-08 16 views
7

मैं एक ऐसा एप्लिकेशन लिख रहा हूं जो उपयोगकर्ताओं को दोहराने वाले कार्यों को शेड्यूल करने की अनुमति देगा जो किसी भी स्रोत (एसवीएन/मर्कुरियल/आदि) से फ़ाइलों को डाउनलोड/पैकेज करते हैं।सी # से क्लर्किंग Mercurial Repositories क्लोनिंग?

मैंने Mercurial को छोड़कर सब कुछ लागू करने में कामयाब रहे हैं। चूंकि मैं चाहता हूं कि मेरा एप्लिकेशन सबकुछ संभालने के लिए, मैं अपने आवेदन के साथ पूरी Mercurial निर्देशिका को वितरित करने से बचाना चाहता हूं, या बदतर, उपयोगकर्ता को इसे स्थापित करने की आवश्यकता है।

मैं इसके लिए किसी प्रकार का एपीआई नहीं ढूंढ पा रहा हूं, इसलिए मैं सोच रहा हूं कि सबसे अच्छा तरीका क्या होगा। क्या कोई स्टैंडअलोन निष्पादन योग्य है जिसमें मैं अपनी परियोजना के साथ शामिल कर सकता हूं, और इसका उपयोग तब करता हूं जब मेरा एप्लिकेशन "एचजी क्लोन" कमांड जारी करता है?

+0

संबंधित प्रश्न: [सी #/.NET से प्रोग्रामेटिक रूप से Mercurial (एचजी) का उपयोग करना] (http://stackoverflow.com/questions/2885958/using-mercurial-hg-programmatically-from-c-net) (हालांकि पुराने) । –

+0

धन्यवाद, हालांकि मैं पहले से ही उस पर ठोकर खाई हूं और इसे सब कुछ उपयोगी नहीं मिला। मैंने http://mercurialnet.codeplex.com की जांच की लेकिन इसमें कोई इंस्टॉल मदद नहीं है, इसलिए मैं यह नहीं बता सकता कि मुझे अभी भी Mercurial .exe को एप्लिकेशन के साथ शामिल करना है, या वहां क्या चल रहा है। –

+0

इसमें स्रोत कोड है, इसलिए उम्मीद है कि कोडप्लेक्स के मर्कुरियल एकीकरण फिर से काम करना शुरू कर देगा, इससे आपकी मदद मिलेगी। [फीचर्स] (http://mercurialnet.codeplex.com/wikipage?title=Features&referringTitle=Home) पृष्ठ पर दूसरी बार देखने पर, 'नोट: Mercurial स्थापित करने की आवश्यकता है, पुस्तकालय Mercurial निष्पादन योग्य के साथ नहीं आता है और काम नहीं करता है इसका अपना! 'तो यह आपकी आवश्यकताओं के लिए पर्याप्त नहीं हो सकता है। –

उत्तर

4

इस पृष्ठ पर एक नज़र डालें - MercurialApi

अनुशंसित एपीआई वास्तव में कमांड लाइन है और यह कारणों से शुरू होता है कि आपको आंतरिक API का उपयोग क्यों नहीं करना चाहिए।

हालांकि, यदि आप वास्तव में चाहते हैं तो आंतरिक API का उपयोग करने के तरीके के बारे में बहुत सारी जानकारी है।

आपको सी # से पायथन को कॉल करने के लिए कुछ रास्ता ढूंढना होगा। ऐसा कुछ जिसे मैंने ऐसा कुछ करने में देखा, उसे IronPython कहा जाता था।

साथ ही, मुझे पूरा यकीन है कि यदि आप Mercurial की आंतरिक API का उपयोग करना चाहते हैं तो आपके प्रोग्राम को ओपन सोर्स होना होगा, लेकिन आपको स्वयं को देखना होगा।

2

Mercurial के साथ इंटरफ़ेस करने का सबसे अच्छा तरीका command server के माध्यम से है।

असल में कमांड सर्वर कमांड लाइन के समान है, लेकिन Mercurial तत्काल ओवरहेड से बचाता है। एक जावा (जावाएचजी) और पायथन कार्यान्वयन (पायथन एचजीएलआईबी) है, इसका सी # संस्करण मौजूद नहीं है, लेकिन मुझे लगता है कि इसे लागू करने के लिए बहुत जटिल नहीं होना चाहिए, संचार प्रोटोकॉल को सरल होने के लिए डिज़ाइन किया गया है।

अन्यथा, कमांड लाइन का आह्वान करना अनुशंसित दृष्टिकोण है।

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