2010-04-19 7 views
50

क्या ऐसी परियोजना को मिरर करने के लिए एक कुशल वर्कफ़्लो है जो मुख्य रूप से बिगबकेट पर एचजी का उपयोग करके होस्ट किया जाता है, जिथब में?बिट्टबकेट से गिथब तक एक एचजी परियोजना मिररिंग

+0

भी देखें http://stackoverflow.com/questions/883452/git-interoperability- सिंक साथ-साथ-मर्कुरियल-रिपोजिटरी – wimh

उत्तर

36

आप hg-git को जैसे किसी उपकरण का इस्तेमाल कर सकते हैं:

  • सेटअप एक Git भंडार कहीं है कि आप करने के लिए धक्का उपयोग कर सकते है,
  • और फिर अपनी परियोजना के भीतर से hg push [path] चलाते हैं। उदाहरण के लिए:
$ cd hg-git # (a Mercurial repository) 
$ hg bookmark -r default master # make a bookmark of master for default, so a ref gets created 
$ hg push git+ssh://[email protected]/schacon/hg-git.git 
$ hg push 

यह Git वस्तुओं में हमारे सभी मर्क्युरियल डेटा बदलने और Git सर्वर से उन्हें ऊपर आ जाएगी।
आप [paths].hg/hgrc के अनुभाग में भी उस पथ को डाल सकते हैं और उसके बाद नाम से इसे दबा सकते हैं।

hg-git

+0

धन्यवाद। मैंने एचजी-गिट पर एक संक्षिप्त नज़र डाली, लेकिन मुझे लगता है कि यह अभी भी अल्फा राज्य में है। मैंने इसे साइगविन में स्थापित करने की कोशिश की लेकिन मुझे इस समय इसके साथ कुछ स्थिरता समस्या है। यह काम प्रदान करता है, हालांकि, यह वर्कफ़्लो में निश्चित रूप से एक उपयोगी टूल है। – Santa

11

आप एक परियोजना के लिए मर्क्युरियल का उपयोग करते हैं तो आप जल्दी और आसानी से इतना है कि Git उपयोगकर्ताओं योगदान कर सकते हैं अपनी परियोजना के एक Git दर्पण बना सकते हैं। मैंने गिटहब पर Mercurial दर्पण प्रबंधित करने के लिए hg-git का उपयोग करने के बारे में एक ट्यूटोरियल बनाया।

इसमें गिटहब खाते के साथ शुरुआत कैसे करें, मर्कुरियल से गिटहब तक एक परियोजना को कैसे दबाया जाए, और गिटहब से योगदान (पुल अनुरोध) कैसे स्वीकार करें। यहाँ ब्लॉग पोस्ट के लिए एक लिंक है: http://hgtip.com/tips/advanced/2009-11-09-create-a-git-mirror/

6

जुलाई 2013 के अनुसार वहाँ BitSyncHub एक BitBucket बाद प्राप्त हुक के माध्यम से इस प्रक्रिया को स्वचालित करने के लिए एक वेब सेवा है। आपको अपने गिटहब भंडार में सेवा लिखने की अनुमति देने की आवश्यकता होगी हालांकि (योगदानकर्ता के रूप में bitsynchub जोड़ें)।

8

अपने बिन पथ के लिए git-remote-hg जोड़ें। फिर आप mentioned on github के रूप में दर्पण कर सकते हैं।

git clone --mirror hg::https://bitbucket_repo 

तो,

git remote set-url --push origin https://github.com/exampleuser/mirrored 

अंत में अपने क्लोन रेपो में जाते हैं, अपने दर्पण

git fetch -p origin 
git push --mirror 
+1

यह स्वीकृत उत्तर से काफी बेहतर है क्योंकि परिणाम सभी टैग और शाखाओं के साथ एक वास्तविक दर्पण होगा। – Kentzo

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