फ़ाइल पथ पर "@all" जोड़ने का प्रयास करें। उदाहरण के लिए, यह मेरे लिए एक एकल संशोधन रेपो पैदा करता है:
python /usr/share/doc/git-core/contrib/fast-import/git-p4 clone --destination=master-pom \
//depot/services/master-pom/trunk/...
यह आदेश पूर्ण इतिहास आयात:
python /usr/share/doc/git-core/contrib/fast-import/git-p4 clone --destination=master-pom \
//depot/services/master-pom/trunk/[email protected]
मैं उदाहरण Git-पी 4 उपयोग करने की कोशिश, लेकिन कई कारणों से छोड़ दिया और लिखा था मेरा अपना फास्ट-आयात पंप। यह थोड़ी देर पहले था, इसलिए कुछ समस्याएं अब तय हो सकती हैं: लेकिन गिट-पी 4 में बड़ी चेंजलिस्ट (जैसे शाखा की प्रारंभिक रचना) के साथ परेशानी थी (हालांकि क्लाइंट स्पेक का उपयोग करने में मदद मिली है, मैं नहीं करता मुझे लगता है कि मैंने कोशिश की) और "+ एस" फ़ाइल प्रकार संशोधक के साथ फाइलें (जो खराब और बुरा है, लेकिन हम इसका इस्तेमाल करते थे)। और मेरा पायथन-फू मेरे मुद्दों को ठीक करने के लिए तैयार नहीं था।
संपादित करें: के बाद से किसी को इसके लिए पूछा, ये रहा।
https://github.com/araqnid/p4utils में कई पी 4 चीजें हैं, जिनमें से पी 4-गीट-एक्सफर पी 4-> गिट (एक तरफा) प्रतिकृतिक है। हालांकि, बुनियादी ढांचे के वास्तविक टुकड़े की बजाय मुख्य रूप से एक व्यक्तिगत आसान उपकरण होने के कारण इसमें कुछ समस्याएं हैं।
प्रारंभ करें:
p4-git-xfer clone -d $PWD/dictionary.git -n //depot/services/midoffice/dictionary/... \
trunk 'release/*' 'branch/*' \
trunk=master release/*=r* branch/*=dev/*
एक नंगे "dictionary.git" करने के लिए है कि जबरदस्ती पथ क्लोन होगा। आधार पथ के बाद पहला तर्क "शाखा चश्मा" है जो प्रतिकृति को बताता है कि आधार के नीचे शाखाएं कहां मिलें। बाद वाले ('=' प्रतीकों के साथ) "दर्पण चश्मा" हैं जो प्रतिकृतिकर्ता को बताते हैं कि आयातित लोगों से स्थानीय शाखाएं कैसे बनाएं। शाखा चश्मा बनाने के लिए "refs/remotes/p4/trunk", "refs/remotes/p4/release/1.0" इत्यादि का कारण बनता है। दर्पण चश्मा "रेफरी/रिमोट्स/पी 4/ट्रंक", "रेफर्स/रीमोट्स/पी 4/रिलीज/1.0" इत्यादि के लिए "रेफर्स/रीमोट्स/पी 4/ट्रंक", "रेफर्स/हेड/आर 1.0" दर्पण के लिए "रेफर्स/हेड/मास्टर" को बल देते हैं। इसका इरादा था मुझे क्लोनों के प्रचार के लिए दोहराए गए लोगों से केवल विशेष शाखाओं का चयन करने की अनुमति देने का एक तरीका है।
यह पता लगाने के लिए कैसे एक शाखा बनाई गई है का प्रयास करेंगे, लेकिन वह ख़ामख़ाह के साथ वैसे भी एक अनुमान का एक सा है। इसके अलावा, यह किसी भी शाखा ट्रैकिंग को करने की कोशिश नहीं करता है: यहां तक कि पूरे शाखा विलय भी इस तरह के बारे में नहीं लिखा जाएगा, क्षमा करें।
प्रारंभिक क्लोन के बाद, p4-git-xfer fetch
को गिट प्रतिकृति के अंदर से चलाना एक वृद्धिशील अद्यतन करेगा। हाई-वॉटर-मार्क चेंजलिस्ट को गिट रेपो के भीतर marks/p4
से लिया गया है। यह एक अंक फ़ाइल है जो तेजी से आयात लोड करता है, इसलिए यदि आप चीजों को फिर से लिखने के लिए फ़िल्टर-शाखा का उपयोग करने जैसी कोई फैंसी फुटवर्क करते हैं, तो सावधान रहें कि आपको इसे भी अपडेट करना पड़ सकता है।
यह सुंदर नहीं है, और इसमें कुछ मध्यम-गंभीर समस्याएं हैं; मैं इसे मुख्य रूप से अपनी सुविधा के लिए उपयोग करता हूं, खुद को पर्सफोर्स की समस्याओं से अलग करने के लिए, दिन-प्रतिदिन के आलोचनात्मक बुनियादी ढांचे घटक के रूप में नहीं। यह एक तरफा है: मैं आमतौर पर git format-patch
द्वारा बनाए गए पैच लागू करने के लिए पी 4-एम स्क्रिप्ट का उपयोग करता हूं। खुद यह केवल सामान्य पार्स मलिनता, अंत फ़ाइल नई-पंक्तियों के साथ समस्याओं, द्विआधारी परिवर्तन आदि के साथ ज्यादातर काम करता है,
के साथ jocelynlegault पर मेरे पास पहुंच सकते हैं क्या आपकी पी 4 आयात स्क्रिप्ट सार्वजनिक है? यदि हां, तो क्या आप इसे साझा करना चाहते हैं? – joce