2008-12-17 15 views
14

मैं अपने स्थानीय परिवर्तक को कैसे पकड़ सकता हूं और इसे पर्सफोर्स में किसी और को भेज सकता हूं? अधिक विशेष रूप से, मैं स्थानीय लंबित चेंजलिस्ट से किसी अन्य उपयोगकर्ता के लंबित चेंजलिस्ट में असमर्थित परिवर्तन भेजना चाहता हूं।मैं अपने स्थानीय परिवर्तक को कैसे पकड़ सकता हूं और इसे पर्सफोर्स में किसी और को भेज सकता हूं?

+1

आपको और अधिक विशिष्ट होना होगा। ऐसा लगता है कि आप किसी स्थानीय लंबित चेंजलिस्ट से किसी अन्य उपयोगकर्ता के लंबित चेंजलिस्ट में असमर्थित परिवर्तन भेजना चाहते हैं? क्या यह सही है? – ninesided

+0

हां, @ninesided –

उत्तर

14
set P4DIFF=C:\cygwin\bin\diff.exe 
p4 diff -du -c 12345 > patch-to-head.diff 

# On Other machine 
patch -p1 < patch-to-head.diff 

मैं वहाँ env var पर गलत हो सकता है, और आप diff फ़ाइल पर कुछ fixups क्या करना है सकते हैं, लेकिन सामान्य विचार है कि आप एक जीएनयू एकीकृत Diff उत्पन्न है, कि तुम लोगों को भेज सकते हैं कि इसे लागू करने के लिए जीएनयू पैच का उपयोग कर सकते हैं।

+2

कम से कम सर्वर 2008.2 और 2010.1 के साथ, "पी 4 diff" में -सी ध्वज नहीं है। मुझे अभी भी एक विशेष लंबित चेंजलिस्ट में फ़ाइलों पर "पी 4 diff" चलाने का कोई तरीका नहीं मिला है। –

+1

हाँ, हमारे पास पी 4 का एक हैक अप संस्करण है जिसका हम उपयोग करते हैं, यही कारण है कि मैं वाक्यविन्यास के साथ इतना अनिश्चित था - क्षमा करें :( –

+1

शायद आप दोनों उपयोगकर्ता एक ही परिवर्तनीय को सिंक करना चाहते हैं, लेकिन चूंकि यह केवल आपके परिवर्तनों को लागू करता है वैसे भी काम करें। – idbrii

2

सुनिश्चित नहीं है कि आप वास्तव में क्या करने का प्रयास कर रहे हैं, लेकिन आप P4_Shelve पर भी विचार करना चाहेंगे। यह आपको वर्चुअल शेल्फ पर लंबित परिवर्तनों का भार रखने की अनुमति देता है, और फिर बाद में उन्हें वापस ले जाता है। किसी और के लिए एक परिवर्तक भेजकर आप वास्तव में क्या हासिल करना चाहते हैं, इस पर निर्भर करता है, यह उत्तर का एक हिस्सा प्रदान कर सकता है।

पी 4 शेल्व साइट से लिंक P4Tar है जो उपयोगी भी हो सकता है - यह क्लाइंट पक्ष पर सभी पैकिंग करता है ताकि आप किसी फ़ाइल को छोड़ सकें जिसे आप किसी और को भेज सकते हैं।

+0

मेरा उत्तर टिम डैनर के एक से अधिक है, क्योंकि पेर्सफोर्स अब शेल्व सुविधा का समर्थन करता है। –

12

पी 4 अब 200 9 में शेल्व ऑपरेशन के लिए मूल समर्थन है। इसका उपयोग करने के लिए ग्राहक और सर्वर दोनों को कम से कम 200.2 होना चाहिए।

http://blog.perforce.com/blog/?p=1872

-1

लाज़िमी 2016 OSX। लंबित परिवर्तन सूची के लिए Diff:

mac:src user$ cl=123456 && p4 diff -du $(p4 files @=$cl | sed s/#.*//) > $cl.diff 

उत्पादन: 123456.diff

लागू करने पैच:

p4 shelve [-c YOURCHANGE] 

अन्य उपयोगकर्ता तो करता है:

mac:src user$ patch -p0 < 123456.diff 
1

अपने लंबित परिवर्तन सूची YOURCHANGE को स्थगित करने की :

p4 unshelve -s YOURCHANGE [-c THEIRCHANGE] 

किसी भी मामले में "-c" तर्क को इसके बजाय डिफ़ॉल्ट चेंजलिस्ट का उपयोग करने के लिए छोड़ा जा सकता है। p4 shelve मामले में इसका मतलब है कि एक नया चेंजलिस्ट बनाया जाएगा और आपके डिफ़ॉल्ट परिवर्तक में फ़ाइलों को इसमें ढंक दिया जाएगा; p4 unshelve मामले में इसका मतलब है कि आपके चेंजलिस्ट से ढकी हुई फ़ाइलों को अन्य उपयोगकर्ता के डिफ़ॉल्ट परिवर्तनीय में शामिल नहीं किया जाएगा।

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

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