2012-02-15 12 views
12

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

  1. वहाँ एक रास्ता (एचटीएमएल पार्स करने के अलावा) सर्वर से खजाने की एक सूची प्राप्त करने के लिए है: यह दो सवाल करने के लिए नेतृत्व?
  2. क्या रिपॉजिटरीज़ में से किसी एक के बारे में जानकारी, जैसे कि टैग, शाखाएं इत्यादि प्राप्त करने का कोई तरीका है, वास्तव में इसे पहले क्लोन किए बिना?

उत्तर

11

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

$ hg id https://bitbucket.org/aragost/javahg/ 
3b2711b26dbd 

अधिक जानकारी की पकड़ पाने के लिए आप कभी कभी दोहन कर सकते हैं hgweb के लिए raw टेम्पलेट: यह आवश्यकता

$ wget -q -O - 'https://www.mercurial-scm.org/repo/hg/tags?style=raw' | head 
tip  a3a36bcf122e2ea4edbbe4ac44da59446cf0ee07 
4.2.1 c850f0ed54c1d42f9aa079ad528f8127e5775217 
4.2  bb96d4a497432722623ae60d9bc734a1e360179e 
4.2-rc 616e788321cc4ae9975b7f0c54c849f36d82182b 
4.1.3 77eaf9539499a1b8be259ffe7ada787d07857f80 
4.1.2 ed5b25874d998ababb181a939dd37a16ea644435 
4.1.1 25703b624d27e3917d978af56d6ad59331e0464a 
4.1  e1526da1e6d84e03146151c9b6e6950fe9a83d7d 
4.1-rc a1dd2c0c479e0550040542e392e87bc91262517e 
4.0.2 e69874dc1f4e142746ff3df91e678a09c6fc208c 

कि मेजबान hgweb सीजीआई स्क्रिप्ट चला रहा है जो Mercurial के साथ आता है। बिटबकेट जैसी साइट के लिए आपको their API का उपयोग करना होगा।

अंत में, यदि आप रिमोट रिपोजिटरी पर एक्सटेंशन सक्षम कर सकते हैं, तो एक एक्सटेंशन लिखना संभव है जो आपके द्वारा एक वर्णनीय प्रारूप में इच्छित जानकारी को उजागर करता है। मैंने एक बार डेमो के रूप में such an extension लिखा था।

+0

बस यह स्पष्ट करने के लिए कि यह वास्तव में गैर-स्थानीय रूप से काम नहीं करता है, कुछ 'एचजी टिप - रेपॉजिटरी https: // bitbucket.org/aragost/javahg/'विफल हो जाएगा; 'निरस्त करें: भंडार 'https://bitbucket.org/aragost/javahg/' स्थानीय नहीं है '। –

+0

@ChrisMorgan: हाँ, लगभग सभी आदेश उस तरह विफल हो जाएंगे जब आप '- रेपॉजिटरी 'ध्वज को रिमोट रेपो पास करते हैं। यह केवल 'एचजी आईडी' और 'एचजी आउटगोइंग' है जो दूरस्थ भंडारों (काफी सीमित फैशन में) से पूछताछ करेगा। –

+0

एक स्पष्ट उत्तर के लिए धन्यवाद :) –