Perforce P4V में "रोलबैक ..." और "बैक आउट सब्स्क्राइब्ड चैंगेलिस्ट #####" के बीच क्या अंतर है


198

मैं अपने एक चेकइन से परिवर्तन को उल्टा करना चाहता हूं। विशेष रूप से चैंजिस्ट के राइट-क्लिक संदर्भ मेनू में, ये दो विकल्प हैं:

  • रोलबैक ...
  • बैक आउट सबमिशन चैंगेलिस्ट

इन दोनों के बीच क्या अंतर है? मुझे किन स्थितियों में एक का उपयोग करना चाहिए?


3
इस मामले में, 'बैक आउट सबमिशन किए गए चेंजेलिस्ट' मेरी स्थिति के लिए सही विकल्प था (केवल चेकइन से परिवर्तन वापस करना चाहता था)। महान जवाब के लिए धन्यवाद।
डेव एंडरसन

जवाबों:


222

ये दोनों ऑपरेशन पिछली स्थिति में फ़ाइलों के एक सेट को पुनर्स्थापित करते हैं और अनिवार्य रूप से तेज़ होते हैं, p4 obliterateकमांड का उपयोग करने की तुलना में गलतियों को कम करने के सुरक्षित तरीके (और आपको उन्हें उपयोग करने के लिए व्यवस्थापक पहुंच की आवश्यकता नहीं है)।

"रोलबैक ..." के मामले में, यह किसी भी संख्या की फाइलें हो सकती हैं, यहां तक ​​कि संपूर्ण डिपो भी। आप इसे किसी विशिष्ट संशोधन, चेंजलिस्ट या लेबल पर रोलबैक करने के लिए कह सकते हैं। फ़ाइलों को उस स्थिति में बहाल किया जाता है जो वे उस संशोधन, चेंजलिस्ट, या लेबल के निर्माण के समय थे।

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

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


18
मुझे लगता है कि "बैक आउट सब्स्क्राइब्ड चैंगेलिस्ट #####" उन बदलावों को रखने की कोशिश करेगा जो दी गई परिवर्तन सूची के बाद उसी फाइलों में किए गए थे।
इयान रिंगरोज

1
@ इयान: अच्छा अवलोकन। जब मैंने यह लिखा था तो मैं तुरंत एक गलती को सुधारने की तर्ज पर सोच रहा था । जैसा कि आमतौर पर होता है, क्या आपको यह महसूस करना चाहिए कि आप बाद में कुछ पूर्ववत करना चाहते हैं , यह अधिक जटिल हो जाता है। मैंने अपना जवाब परिष्कृत किया।
रैवेन

@IanRingrose मैंने बस एक "बैकआउट" ऑपरेशन किया था, और ऐसा लगता है कि यह उन परिवर्तनों को रखने का प्रयास नहीं करता है जो बाद में किए गए थे। मुझे एक सिंक करना था और फिर उन परिवर्तनों को हल करने के लिए हल करना चाहिए जिनमें बैकआउट के बाद सबमिट किया गया था।
gdw2

@ gdw2, मुझे लगता है कि अगर आपने "रोलबैक" किया, तो आपको "रिज़ॉल्यूशन बदलने के लिए हल करने का विकल्प नहीं मिलेगा, जिसमें बाद में सबमिट किया गया था ..."
इयान रिंगरोज

1
हालाँकि, फ़ाइलों को उस स्थिति में पुनर्स्थापित किया जाता है जिस स्थिति में वे थे, मेटाडेटा नहीं है। किसी अन्य शाखा से एकीकरण को रोलबैक करने की कोशिश करने से आप उस एकीकरण को फिर से नहीं कर पाएंगे क्योंकि मेटाडेटा कहता है कि यह पहले से ही एकीकृत है।
विल ब्रोड

17

एक परिवर्तनशील प्रस्तुत प्रस्तुत करें

आप एक सफल चैनल प्रस्तुतकर्ता को पूर्ववत नहीं कर सकते हैं, लेकिन आप पहले से सबमिट किए गए परिवर्तनों को दो तरीकों से उलट सकते हैं:

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

जानकारी के लिए कृपया https://www.perforce.com/perforce/r13.1/manuals/p4v/Working_with_changelists.html देखें


8

बैकआउट हमारे परिवर्तनों को पुनर्स्थापित करता है या हटाता है। जिस तरह से यह होता है वह यह है कि, पी 4 हमारे स्थानीय कार्यक्षेत्र पर एक चेंजेलिस्ट (डिफ़ॉल्ट या नया) में परिवर्तन को पूर्ववत् करता है। इसके बाद हमें इस बैकअप चेंजलिस्ट को प्रस्तुत / प्रतिबद्ध करना होगा क्योंकि हम अन्य परिवर्तनवादी हैं। दूसरा भाग यहां महत्वपूर्ण है, क्योंकि यह सर्वर पर चेंजलगिस्ट को स्वचालित रूप से बैकआउट नहीं करता है, हमें बैकआउट चेंजलिस्ट प्रस्तुत करना होगा (जो कि आपके ऐसा करने के बाद समझ में आता है, लेकिन मैं शुरू में यह मान रहा था कि यह स्वचालित रूप से होता है)।

जैसा कि अन्य लोगों ने बताया, रोलबैक में अधिक शक्तियां हैं - यह एक विशिष्ट तिथि, परिवर्तनकर्ता या संशोधन # में परिवर्तन बहाल कर सकता है


4

रोलबैक ... आपको रोलबैक करने के लिए एक फ़ोल्डर का चयन करने के लिए संकेत देगा, अर्थात, यह विशिष्ट फ़ोल्डरों पर काम करेगा, और आप लेबल या चेंजलिस्ट या दिनांक पर रोलबैक कर सकते हैं। बैक आउट विशिष्ट चेंजलगिस्ट में फाइलों पर काम करता है।


4

मैं पेरफोर्स चेंजेलिस्ट्स की तुलना एक स्टैक (डेटा संरचनाओं से) के उपयोगकर्ताओं को करता हूं।

बैकिंग स्टैक में कहीं से भी एक आइटम निकालता है।

रोलिंग बैक स्टैक के ऊपर से n आइटम निकालता है।


0

इसकी सरलता में, अंतर बहुलता में से एक है:

  • बैकआउट एक एकल चैंजिस्ट (चाहे सबसे हाल का हो या नहीं) से बाहर निकलता है। यानी यह एक एकल चैंजिस्ट को खोल देता है।
  • रोलबैक में पिछले चेंजलिस्ट को पाने के लिए जितना हो सके बदलावों को रोल बैक करता है। यानी यह कई चेंजलगिस्ट को पूर्ववत कर देता है।

मैं भूल गया कि कौन सा है, जो है और अंत में इसे कई बार देखना है। इस समस्या को ठीक करने के लिए, फिर से कई घुमावों के रूप में रोल करने की कल्पना करें, उम्मीद है कि रोलबैक बहुवचन है (और मुझे!) याद रखें कि कौन सा है। बैकआउट मुझे रोलबैक से कम 'बहुवचन' लगता है। एक एकल पार्किंग स्थान से बाहर निकलने की कल्पना करें ।

तो, महामारी है:

  • रोलबैक → कई घुमाव
  • बैकआउटसिंगल कार पार्किंग की जगह से बाहर

आशा है कि ये आपकी मदद करेगा!

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.