TortoiseSVN में शेल्व?

मैं अपनी वर्तमान कंपनी के साथ टीएफएस से एसवीएन (टोर्टोइज एसवीएन) में स्थानांतरित हो गया हूं। मैं वास्तव में टीएफएस की "शेल्व" सुविधा याद करता हूं। मैंने एसवीएन के साथ "शेल्व" के बारे में विभिन्न लेख पढ़े हैं, लेकिन मैंने कुछ भी नहीं पढ़ा है जो "शेल्फ" काम के लिए एक बहुत ही सरल अनुभव देता है।

Ideally, I'd like extra items added to the TortoiseSVN context menu - "Shelve" & "Unshelve". "Shelve" would remove the current shelve-set, and upload the working directory under a suitable path defined by user options. "Unshelve" would merge the set with the working copy.

क्या ऐसा कुछ मौजूद है? क्या कोई भी इस सुविधा को जीयूआई में "हैक" करने के किसी भी तरीके का सुझाव दे सकता है?

नोट: निम्न लिंक वास्तव में उस उपयोगकर्ता अनुभव को प्राप्त नहीं करता है जिसे मैं ढूंढ रहा था:

शेल्विंग सबवर्सन

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

0
ro fr bn

6 उत्तर

0
जोड़ा

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

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

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

0
जोड़ा

मुझे विश्वास नहीं है कि एसवीएन में यह सुविधा सर्वर उत्पाद में बनाई गई है। मैं टोर्टोइज एसवीएन समेत किसी भी क्लाइंट में इस तरह के नकल की तरह कुछ भी विश्वास नहीं करता हूं।

इस समस्या को हल करने के लिए, मैंने एक डीवीसीएस का उपयोग करने का प्रयास किया है जैसे git या mercurial , मुझे एसवीएन पर सामग्री को धक्का देने से पहले स्थानीय रूप से शाखा/विलय/शेल्व करने की अनुमति देने के लिए। यह तर्कसंगत रूप से एक कड़वाहट का थोड़ा सा है, लेकिन यह वास्तव में अच्छी तरह से काम करता है।

मुझे आशा है कि वह मदद करेंगे। सौभाग्य!

0
जोड़ा
देखें: Mercurial और svn का उपयोग कैसे करें stackoverflow.com/questions/4605668/…
जोड़ा लेखक AndyM, स्रोत
मुझे नहीं लगता कि यह एक क्लज एल है-) मैंने टीमों के साथ काम करते समय कई अलग-अलग व्यक्तिगत वीसीएस का इस्तेमाल किया है, जहां हमने चेकइन पर सख्त नियंत्रण किया था (और विशेष रूप से लॉकिंग आधारित वीसीएस जैसे सोर्ससेफ)।
जोड़ा लेखक Andy Dent, स्रोत
तुम सही हो, यह एक झुकाव नहीं है। ईमानदार होने के लिए मुझे नहीं पता कि मैंने यह क्यों कहा, संभवत: लैम्बस्टेड से बचने के लिए एक अस्वीकरण का थोड़ा सा :) मैं मानक सीवीसीएस को धक्का देने से पहले स्थानीय शेल्विंग के लिए डीवीसीएस का उपयोग करने से बहुत खुश हूं।
जोड़ा लेखक OJ., स्रोत
जीत के लिए समय-अज्ञानी downvotes! स्टैक ओवरफ्लो वास्तव में कभी-कभी एक यहूदी भी होता है।
जोड़ा लेखक OJ., स्रोत
एसवीएन पैच सुविधा में वांछित व्यवहार बहुत अधिक है जैसा नीचे दिए गए कुछ उत्तरों में बताया गया है।
जोड़ा लेखक achekh, स्रोत
पुराने उत्तर शायद चाहिए नीचे मतदान किया जाना चाहिए। उस ने कहा, यह उत्तर कई अतिरिक्त लाभ प्रदान करता है, इसलिए मेरे द्वारा +1।
जोड़ा लेखक WCWedin, स्रोत
लेकिन आप इस तरह के अन्य डेवलपर्स के साथ कोड कैसे साझा करते हैं? शेल्व सेट के फायदों में से एक यह है कि मेरे सहयोगी डेवलपर कोड को कहीं भी कोड के लिए एक्सेस कर सकते हैं, इससे पहले कि वह इसे करता है।
जोड़ा लेखक Mosh, स्रोत

एक और विकल्प पैच फ़ाइल बनाने और परिवर्तनों को वापस करने के लिए TortoiseSvn में 'बनाएँ पैच' सुविधा का उपयोग करना है। पैच फ़ाइल को बाद में वापस पाने के लिए पुनः लागू किया जा सकता है जहां आप थे।

यदि आप कामकाजी प्रति संशोधन को अद्यतन करना चाहते हैं तो भी आप कुछ चिपचिपा विलयों के साथ समाप्त हो सकते हैं।

0
जोड़ा

यदि आप समझते हैं कि एसवीएन शाखाएं कैसे काम करती हैं, एसवीएन में शेल्व को अनुकरण करना कोई ब्रेनर नहीं है:

  1. भंडार (सर्वर पर) में एक शाखा बनाएँ
  2. अपनी स्थानीय प्रतिलिपि इसे स्विच करें
  3. अपनी शाखाओं को नई शाखा में ले जाएं
  4. अपनी स्थानीय प्रतिलिपि को वापस ट्रंक पर स्विच करें

जब आप अपने शेल्फ किए गए परिवर्तनों ("असहनीय") पर वापस जाने के लिए तैयार होते हैं, तो शेल्फ शाखा को अपनी स्थानीय प्रतिलिपि में वापस विलय करें।

यदि आप कमांड लाइन एसवीएन और न ही कछुए एसवीएन को उपर्युक्त करने के लिए पर्याप्त रूप से जानते हैं, तो यहां टोर्टोइज़ एसवीएन में इसे कैसे करें, इसके बारे में एक विस्तृत विस्तृत चरण-दर-चरण निर्देश है:

  1. Do "SVN Update" to update your working copy to the latest version of the trunk. This way the only differences between your local copy and the trunk are your changes.
  2. From the context menu select "Branch/Tag"
  3. "HEAD version in the repository" option is selected by default. Keep that.
  4. Change the "To Url" to specify branch name, e.g. http://server/repository/project1/branches/shelf1
  5. Check the "Switch working copy to new branch/tag" box
  6. Click Ok to create the branch and switch to it
  7. Do "SVN Commit..." and commit your changes to the newly created branch
  8. From the context menu select "Switch..."
  9. Change the "To URL" to the trunk URL e.g. http://server/repository/project1/trunk
  10. Click Ok to switch back to the trunk

See this link for even more details and the command-line equivalent of the above:
Shelves in Subversion

0
जोड़ा
बड़े भंडारों पर, यह एक दर्दनाक धीमा है (और अगर यहां और वहां हटाए गए हैं तो त्रुटि प्रवण) प्रक्रिया है
जोड़ा लेखक Samaursa, स्रोत
एक नई शाखा या यहां तक ​​कि ट्रंक पर स्विच। भंडार पर बहुत धीमी गति से जहां मैं काम करता हूं (यह काफी बड़ा है) और यहां तक ​​कि मेरी कुछ परियोजनाओं पर भी जटिलता में वृद्धि हुई थी (मैंने निजी परियोजनाओं के लिए व्यापारिक रूप से स्विच किया था)। और हाँ, अपरिवर्तित आइटम समस्या। एक बार Mercurial पर स्विच करने के बाद, मैं विश्वास नहीं कर सका कि सबकुछ अचानक कितना आसान था। बहुत बुरा वे काम पर इसका इस्तेमाल नहीं करते हैं। एसवीएन में एक शेल्फिंग विकल्प बहुत अच्छा रहा होगा।
जोड़ा लेखक Samaursa, स्रोत
सभी स्विचिंग क्लेज की तरह लगती हैं, आईएमएचओ एसवीएन पीछे गिरना शुरू कर रहा है जबकि कई एसएमएम टूल्स (जैसे पेर्सफोर्स, टीएफएस, मर्कुरियल <�एक्सटेंशन के माध्यम से>) में यह सुविधा सर्वर पर अस्थायी कोड को आसानी से सहेजने और आसानी से वापस लौटने के लिए है, आदि आदि
जोड़ा लेखक Jason, स्रोत
@ सैमौर्स, कौन सा कदम धीमा है? साथ ही, मेरे लिए कभी भी समस्या नहीं थी, जब तक कि काम करने वाली प्रतिलिपि में अनवरोधित आइटम न हों (जिसे आपको स्विच करने से पहले साफ करना चाहिए, इसे पढ़ें: ( subversion.apache.org/faq.html#switch-problems )
जोड़ा लेखक zvolkov, स्रोत

Shelving in SVN is starting to roll out with version 1.10, see Release Notes

0
जोड़ा