2009-10-20 15 views
7

काम पर हम प्रतिभा का उपयोग करते हैं और नियमित रूप से इसे करने के लिए प्रोत्साहित किया जाता है (कुछ मैं ठीक हूं)। हालांकि, मैं Mercurial की तरह कुछ चलाने के लिए चाहता हूं, इसलिए मैं स्थानीय रूप से ऐसी चीजें कर सकता हूं जो प्रगति पर काम कर रहे हों और आवश्यक रूप से संकलित/रन न करें और फिर से मेरा नियमित रूप से केंद्रीय प्रतिभा सर्वर पर काम करता है।स्थानीय सर्वर को धक्का देकर स्थानीय केंद्र

मेरा प्रश्न यहां दो गुना है, पहले बंद है, क्या कोई जानता है कि विजुअल स्टूडियो कितनी अच्छी तरह से कई स्रोत नियंत्रण बाइंडिंग का सामना करेगा (आदर्श रूप में मैं सबकुछ जितना संभव हो स्वायत्त होना चाहता हूं - हे, मैं आलसी हूं:))

और दूसरी बात, क्या कोई उपकरण उपलब्ध है जो मुझे कुछ आसान करने की अनुमति देगा "बल के लिए मेरकोरियल रिपोजिटरी के वर्तमान सिर की जांच करें"।

मुझे याद है कि जीआईटी आपको इस तरह कुछ करने की अनुमति देता है, और मैं इसे पूरी तरह से कोशिश करने के खिलाफ नहीं हूं।

मैं स्पष्ट कुछ भी बाहर नहीं छूटा है या पूरी तरह से गलत तरीके से इस बारे में सोच रहा है, मुझे गाली देना करने में संकोच न करें;)

चीयर्स

उत्तर

3

निजी विचारों में आपके विचार का ब्याज इतना नहीं है क्योंकि यह "ऑफ-लाइन विकास" में होगा: Mercurial या Git केंद्रीय पर्सफोर्स रिपोजिटरी से कनेक्ट नहीं होने पर भी काम करने की अनुमति देगा।

लेकिन शाखाकरण के संबंध में, वे एचजी या गिट के साथ बनाना या विलय करना आसान है, इसलिए यह एक विचार हो सकता है।
सिद्धांत आपके पर्सफोर्स वर्कस्पेस में अपने एचजी या गिट रेपो को सही बनाना होगा।

यह लेख using mercurial with perforce (or some other centralized vcs) एक समान दृष्टिकोण को वर्णन करता है:

कोड जबरदस्ती में पहले से ही है, तो मैं एक प्रति और एचजी एक स्थानीय भंडार init नीचे खींच जाएगा; अन्यथा मैं Mercurial का उपयोग कर init और बाद में perforce में जांच करेंगे (आमतौर पर यह एक स्पाइक के लिए है)।
मैं कुछ काम करूंगा, जैसा कि मैं Mercurial में जाता हूं।
मेरा प्रतिभा प्रतिबद्ध छोटे एचजी कामों का रोलअप बनता है, वैकल्पिक रूप से यदि मैं विशेष रूप से परिवर्तनों को ट्रैक करना चाहता हूं तो मैं "एचजी अपडेट" (कुछ और नीचे) का उपयोग करके इतिहास को आगे बढ़ाकर व्यक्तिगत एचजी प्रतिबद्धता में जांच करूंगा।
माध्यम से जबरदस्ती में .hg फ़ोल्डर के लिए प्रतिबद्ध नहीं है

+0

धन्यवाद, मैं इसे बाद में आजमाउंगा:] – Lee

+0

यह काम करने लगता है - सभी फ़ाइलों को सहेजने और प्रतिबद्ध करने के लिए एक मैक्रो भी सेट अप करें ... ओवरकिल:] – Lee

6

मेरी राय में, क्या आप चाहते हैं अलग है कई एससीएम सिस्टम की बजाय शाखाएं। यदि आप अपना खेल का मैदान चाहते हैं जहां आप कार्य प्रगति जमा कर सकते हैं, तो पर्सफोर्स में मुख्य शाखा से विकास शाखा बनाएं। आप इसे नियमित रूप से अपडेट कर सकते हैं, जो सामान संतुष्ट/किए जाने के बाद दूसरों को आपके परिवर्तनों को मुख्य रूप से सबमिट और एकीकृत करते हैं।

यह इस सवाल को भी समाप्त करता है कि वीएस इसका कितना अच्छा सामना करेगा।

+0

एक उचित बिंदु और एक निश्चित रूप से विचार करने लायक है, हालांकि हमारे बलबल कभी-कभी प्रतिबद्ध होने के लिए धीमे हो सकते हैं। लेकिन मैं निश्चित रूप से इस पर विचार करूंगा! – Lee

2

Git एक git-p4 सामने के अंत कि आप एक नया Git भंडार है कि सभी या एक लाज़िमी उप का हिस्सा पटरियों बनाने की अनुमति देता के साथ आता है पेड़। (कॉम्प्लेक्स क्लाइंट वर्कस्पेस समर्थित नहीं हैं, आखिरी बार मैंने चेक किया था)। git-p4 आमतौर पर contrib पेड़ में पाया जाता है और आपके गिट इंस्टॉल के साथ आ सकता है या नहीं भी हो सकता है, या आप हाल ही के संस्करण here, from git.kernel.org को पकड़ सकते हैं। इस स्क्रिप्ट के लिए पाइथन की आवश्यकता है।

अनिवार्य रूप से, आप अपने अपस्ट्रीम //depot/pathgit p4 clone और फिर git p4 sync नीचे नया परिवर्तन आपके वर्तमान शाखा में git p4 rebase नदी के ऊपर लाज़िमी पथ के शीर्ष पर अपने वर्तमान शाखा rebase को खींचने के लिए जा सकते हैं। यदि आपके गिट रिपोजिटरी के समीप एक अलग पर्सफोर्स वर्कस्पेस है, तो आप git p4 submit कर सकते हैं। (मैं अपने पर्सफोर्स सर्वर को सबमिट करने के लिए वीएमवेयर पर एक अलग आंतरिक उपकरण का उपयोग करता हूं, इसलिए मैंने git p4 submit का उपयोग नहीं किया है।)

दुर्भाग्य से, मुझे नहीं पता कि वीएस गिट या गिट और पर्सफोर्स के साथ-साथ कितनी अच्छी तरह से व्यवहार करता है। मेरा अनुमान है कि कोई भी वीएस एकीकरण git-p4 के पर्सफोर्स पक्ष से निपटता नहीं है, लेकिन आप सामान्य रूप से अपने सामान्य गिट ऑपरेशंस को अपने तरीके से कर सकते हैं और git-p4.bat पर कॉल करने के लिए केवल एक खोल का उपयोग कर सकते हैं या कुछ ऐसे हैं जो आपके पर्सफोर्स ऑपरेशंस को करते हैं।

एक और विकल्प यह है कि बस अपने पर्सफोर्स वर्कस्पेस में एक गिट (या Mercurial) भंडार शुरू किया गया है। Heresomeone who does this with Mercurial का एक उदाहरण है।

+0

मुझे यह आलेख बहुत उपयोगी पाया गया: https: // git.wiki.kernel.org/index.php/Git-p4_Usage –

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