2012-02-16 12 views
22

मुझे आश्चर्य है कि क्या एक चेंजलिस्ट को स्थानांतरित करने का कोई तरीका है जिसे किसी शाखा/देव/शाखा में/मुख्य/संपादन पर बनाया गया था?पर्सफोर्स - मुख्य रूप से शाखा से एक आश्रय Changelist ले जाएँ?

मेरे पास छः ऐसे परिवर्तनकार हैं जिनमें उनमें बहुत सारी फ़ाइलें हैं। मैंने सभी फाइलों को ढंक लिया और वहां काम करने के लिए उन्हें शाखा में ले जाना चाहते हैं। यदि संभव हो, तो मैं सीधे पी 4 वी में ऐसा करना पसंद करूंगा।

मैं 2010.2 पी 4 सर्वर के साथ पी 4 वी 2011.1 का उपयोग कर रहा हूं।

+0

संबंधित प्रश्न: http://stackoverflow.com/questions/300160/can-i-integrate-checked-out-files-into- एक-अलग शाखा-ऑन-जबरदस्ती। – gdw2

उत्तर

1

मुझे विश्वास है कि आप एक संपादित फ़ाइल पर राइट-क्लिक कर सकते हैं और Rename/Move... चुन सकते हैं।

यदि यह काम नहीं करता है, तो आपको शायद कमांड लाइन का उपयोग करना होगा और p4 move -f old_file new_file करें और दूसरी शाखा में जाएं।

नोट: इसके लायक होने के लिए, यह शाखाओं के लिए काम करता है लेकिन स्ट्रीम नहीं करता है।

+1

दुर्भाग्यवश, जब मैं इस विधि के साथ शाखा में फ़ाइल को स्थानांतरित करने का प्रयास करता हूं तो मुझे "डिपो में पहले से मौजूद" त्रुटि मिलती है। –

+0

@ मार्टिन स्चुल्ज़, यही वह है जिसे मैं डरता था। कमांड लाइन पर यह वह जगह है जहां '-f' आता है, लेकिन यह नहीं पता कि p4v में ऐसा करने का कोई तरीका है या नहीं। – Chance

0

मैं अपने आप को इस प्रयास नहीं किया है, लेकिन मैं कल्पना कर सकते हैं यह संभव होना चाहिए:

  1. एक कार्यक्षेत्र कि
  2. गंतव्य शाखा के लिए मैपिंग शामिल लंबित परिवर्तन सूची का चयन करें और यह unshelve के लिए अपने ग्राहक को बदलें (या कमांड लाइन

से p4 unshelve -s <number> फोन p4 मैनुअल से:

A successful unshelve operation places the shelved files on the user's 
workspace with the same open action and pending integration history as 
if it had originated from that user and client. 
+2

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

-1
  1. /main/
  2. पर जमा करें /dev/branch/
  3. रोलबैक करने के लिए परिवर्तन सूची एकीकृत या पर /main/

यह यदि कोई हो तो आप विरोध का समाधान करने की अनुमति देता परिवर्तन सूची backout। नुकसान /main/ पर चेंजलिस्ट का समर्थन है जो सुंदर नहीं है।

+0

यदि आप मुख्य पर परिवर्तन का समर्थन करते हैं, तो क्या यह एकीकरण इतिहास को उलट नहीं देगा? यही कारण है कि आप शाखा है, जो मुख्य में अभी तक नहीं कर रहे हैं पर unintegrated परिवर्तन हो कि उम्मीद करेंगे, लेकिन देखने की ख़ामख़ाह के दृष्टिकोण से, वहाँ है कि शाखा में अभी तक नहीं कर रहे हैं मुख्य पर unintegrated परिवर्तन कर रहे हैं कहने के लिए है। –

+0

मैंने ऊपर कारण के कारण -1 दिया। मैंने वास्तव में यह कोशिश की है और यह अप्रत्याशित व्यवहार का कारण बन सकता है। जब आप मुख्य पर वापस एकीकृत करते हैं तो परिवर्तन वहां नहीं होंगे। – Ykok

18

पर्सफोर्स 2013.1 से शुरू हो रहा है, तो आप एक शाखा में एक फाइल को आश्रय दे सकते हैं और एक शाखा स्पेक या मैपिंग के रूप में स्ट्रीम का उपयोग करके इसे दूसरे में शामिल कर सकते हैं।

यहां the documentation है जो नए -b और -S विकल्पों का वर्णन करता है।

+0

क्या आप -b का उपयोग करने के तरीके पर ला सकते हैं और उदाहरण सकते हैं? प्रलेखन केवल उपयोग -b ध्वज का उपयोग करता है! मैं कई बदलावों की कोशिश कर रहा हूं और यह काम नहीं करता है, अज्ञात शाखा '/ dev/शाखा' – Shervin

+2

कह रहा है। रिकॉर्ड के लिए, -b को ढंका हुआ शाखा से शाखा मैपिंग को शाखा में दिया जाना चाहिए जिसे हम परिवर्तनीय होना चाहते हैं। यहाँ एक मानचित्रण बनाने का तरीका बताया: http://www.perforce.com/perforce/doc.current/manuals/p4v/Managing_branch_specifications.html – Shervin

+0

@Shervin मृत लिंक – user234461

0

आप इसे पूरा करने के लिए "पी 4 चाल-एफ/मुख्य/.../dev/शाखा/..." का भी उपयोग कर सकते हैं।

  1. सुनिश्चित करें कि आपके पास/मुख्य/में केवल एक ही संपादन योग्य फाइलें हैं जिन्हें आप स्थानांतरित करना चाहते हैं। शेल्व और किसी भी अन्य परिवर्तक में फ़ाइलों को वापस लाएं
  2. कमांड लाइन: "पी 4 चाल-एफ/मुख्य/.../dev/शाखा/..."
  3. परिवर्तन में फ़ाइलें अब/dev/शाखा चिह्नित हैं संकल्प प्रत्येक फ़ाइल की आवश्यकता होती है
  4. हल के रूप में बस के रूप में तुम एक साधारण संघर्ष
संबंधित मुद्दे