2011-06-16 6 views
11

मैं एक फ़ाइल में कुछ बदलाव करता हूं लेकिन मुझे एहसास है कि मुझे इसे अन्य तरीकों से संशोधित करने की आवश्यकता है - इसके लिए मुझे अपने वर्तमान परिवर्तनों को अस्थायी रूप से सहेजने और बाद में इसे लागू करने की आवश्यकता है। मैं इसे svn/subversion टूल में कैसे कर सकता हूं, उदा। TortoiseSVN?बाद में पुन: उपयोग करने के लिए diff को कैसे सहेजना है - यह सुविधा TFS में अलमारियों के समान है?

जिस विशेषता का मैं उल्लेख कर रहा हूं वह shelveset बनाने और इसे TFS में सहेजने के समान ही है।

अगर आप जानते हैं कि कृपया कैसे मदद करें। धन्यवाद!

उत्तर

14

एंटनीडब्ल्यू का उत्तर काम करता है, लेकिन यह अधिक हो सकता है, खासकर यदि आपके पास बहुत कोड है!

मैं टीएफएस 'shelveset से परिचित नहीं हूं लेकिन svn आपको केवल svn diff आदेश देता है जो आप ढूंढ रहे हैं: एक diff बनाना और इसे सहेजना ताकि आप इसे बाद में लागू कर सकें। बस svn diff के आउटपुट लें और इसे .patch या .diff फ़ाइल में सहेजें।

svn diff myfile > myfile.patch 

आप TortoiseSVN उपयोग कर रहे हैं के बाद से, this is even easier to do

0

मैं आमतौर पर एक नए स्थान पर चेकआउट करता हूं, फिर वहां परिवर्तन करता हूं।

बाद में, मैं अपने पहले संशोधित संस्करण में परिवर्तनों को मर्ज करने के लिए मूल स्थान पर एक अद्यतन करता हूं।

+0

एक चेकआउट क्यों करते हैं, आप अन्य काम कर प्रति कॉपी नहीं कर सकते बेहतर है? – manojlds

4

आप अपने परिवर्तनों के साथ शाखा भी बना सकते हैं। यह डिस्क पर diff भंडारण से भी बेहतर हो सकता है।


संपादित करें: तो तुम प्रतिलिपि काम करने में परिवर्तन के विभिन्न प्रकार है? फ़ाइलें जिन्हें आप रखना चाहते हैं और जिन फ़ाइलों को आप डिफ में सहेजना चाहते हैं? इस मामले में शायद TortoiseSVN से पैच बनाना बेहतर है।

लेकिन यदि आप कार्यशील प्रतिलिपि से सभी परिवर्तन पैच में रखना चाहते हैं तो शाखा बनाने के लिए मेरी राय में बेहतर है। यह कछुआ में वास्तव में आसान है:

  1. बनाएं शाखा/टैग और मार्क कार्य की प्रतिलिपि शाखा (नई शाखा में स्विच करने की जांच नहीं करते) के स्रोत के रूप।
  2. कछुआ शाखा वापस लाएं बनाता है के बाद सभी स्थानीय परिवर्तन
  3. के एकीकरण शाखा ट्रंक को

shure के लिए अपने एक और परिवर्तन

  • शाखा को
  • स्विच ट्रंक और ट्रंक से परिवर्तन मर्ज करने के लिए प्रतिबद्ध बनाओ यह मेरे लिए ज्यादातर समय काम करता है, पैच कोड समीक्षा के लिए अच्छे हैं, न कि समाप्त किए गए परिवर्तनों के स्थानीय टूलसेट बनाने के लिए;)

  • +0

    एक diff/shelveset के लिए एक शाखा बनाना? मैं इस तरह का समर्थन नहीं करता हूं। वैसे भी Krzychkula धन्यवाद। –

    1

    दिए गए उपरोक्त उत्तरों के संबंध में, मैं (व्यक्तिगत रूप से) उनके साथ असहमत हूं (थोक आदि ...)। मेरे लिए (और मैं इसका भी उपयोग कर रहा हूं), यह उन अच्छी सुविधाओं में से एक है जो वर्तमान में केवल टीम नींव द्वारा समर्थित हैं और नेटवर्क में उपयोग किए जा सकते हैं।यह निम्नलिखित स्थितियों में बहुत मदद करता है:

    1. पहला और सबसे प्रमुख यह है कि आप मुख्य स्रोत कोड में चेक इन (और अपूर्ण) कोड के बिना किसी अन्य व्यक्ति से समीक्षा कर सकते हैं।
    2. यदि आपके पास कई समाधान हैं, तो आपके पास कई शेल्वेट्स हो सकते हैं जिन्हें आप अपने आवेदन में जांच सकते हैं।
    3. यदि किसी अन्य व्यक्ति को चेक-इन से पहले आंशिक परीक्षण उद्देश्यों के लिए आपकी एक निश्चित अलमारियों की आवश्यकता होती है, तो यह उपलब्ध है।

    मैंने इस सुविधा की खोज की और पाया कि अधिकांश अन्य उत्पाद (एसवीएन, मर्कुरियल) भविष्य में इस सुविधा को पेश करने जा रहे हैं, लेकिन यह अभी तक उपलब्ध नहीं है।

    ... यह हमेशा नहीं बल्कि अनुमति से माफी के लिए पूछने की ....

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