2008-11-18 4 views
10

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

उत्तर

0

मुझे लगता है कि ऐसा करने के लिए जबरदस्ती अंदर एक तरह से कभी नहीं मिली है, लेकिन आप कम से कम आंशिक यह स्वचालित कर सकते हैं।

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

यह नहीं सबसे अच्छा समाधान (कोई स्वत: चेकआउट// जोड़ने नई शाखा पर फ़ाइलों का हटाना), लेकिन सबसे तेजी से विधि मैं के साथ आया था।

-1

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

एक वापस बना लो, नई शाखा पर एक नया कार्य क्षेत्र बनाने के लिए, और शायद diff/मर्ज रणनीति Herms जवाब में उल्लिखित का उपयोग कर, अपने परिवर्तनों को फिर से लागू होते हैं।

+0

प्रगति पर काम करने के लिए उपरोक्त लिंक देखें। –

0

वास्तव में नहीं।

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

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

इसके अलावा, जिम Tilander द्वारा ख़ामख़ाह के लिए कुछ other nifty scripts की जाँच करें।

10

पर्सफोर्स समर्थन वेबसाइट यह बताती है कि यह कैसे करें: Perforce Knowledge Base: Branching work in progress। यह अच्छा होगा अगर यह एक ऐसा कदम था जिसे आठ अलग-अलग कमांड चलाने की आवश्यकता नहीं थी।

+0

यह सही जवाब है - क्या यह स्वयं को लोड करता है और यह बहुत आसान है। –

+0

@ user38703: कृपया इसे सही उत्तर के रूप में चिह्नित करें यदि यह है। –

+2

यह मुझे आश्चर्यचकित करता है कि "गिट रिबेस" के पी 4 समकक्ष कुछ 15 कमांड होने पर गिट को "उपयोग करने में कठोर" होने के लिए फ्लेक्स हो जाता है। – RJFalconer

6

रिलीज 2013.1 के बाद, प्रगति पर शाखा कार्य करने का तरीका shelve कार्य और unshelve शाखा पर है। विस्तार से:

$ p4 unshelve -b mps/branch/2013-06-05/diag -s 182535 
... //info.ravenbrook.com/project/mps/branch/2013-06-05/diag/code/arenavm.c - must resolve //info.ravenbrook.com/project/mps/master/code/[email protected]=182535 before submitting 
# etc. 
: शाखा ( -b विकल्प है, जो एक शाखा विनिर्देश के माध्यम से फ़ाइल नाम नक्शे का उपयोग) पर

$ p4 shelve ... 
Change 182535 created with 10 open file(s). 
Shelving files for change 182535. 
edit //info.ravenbrook.com/project/mps/master/code/arenavm.c#26 
# etc. 
  • उन्हें Unshelve:

    1. अपने बकाया परिवर्तन टांड़

    2. unshelve से p4 resolve -as का उपयोग करके किसी भी विलय को हल करें, जल्दी से "सुरक्षित" करने के लिए, और फिर doi सामान्य रूप से p4 resolve के साथ बाकी।

      $ p4 resolve -as 
      //gdr-peewit/info.ravenbrook.com/project/mps/branch/2013-06-05/diag/code/arenavm.c - copy from //info.ravenbrook.com/project/mps/master/code/arenavm.c 
      # etc. 
      $ p4 resolve 
      No file(s) to resolve. 
      

  • 0

    सरल शब्दों में ऊपर गैरेथ रीस 'जवाब अलग तरीके से व्यक्त करने के लिए,

    p4 unshelve -b target_branchspec -s changelist 
    

    (उदाहरण के उत्पादन कोई वास्तविक उपयोग के मामले मैं बस अभी चलाए जाने से है।) :)