जिस कंपनी के लिए मैं काम कर रहा हूं वह शुरू हो रहा है और उन्होंने प्रक्रिया में अपना नाम बदल दिया है। तो हम अभी भी पैकेज नाम com.oldname का उपयोग करते हैं क्योंकि हम फ़ाइल परिवर्तन इतिहास, या संस्करणों के बीच वंश संबंधों को तोड़ने से डरते हैं, या जो भी हम तोड़ सकते हैं (मुझे नहीं लगता कि मैं सही शब्दों का उपयोग करता हूं, लेकिन आपको अवधारणा मिलती है)।सबवर्सन इतिहास को तोड़ने के बिना जावा पैकेज का नाम कैसे बदलें?
हम का उपयोग करें: ग्रहण, TortoiseSVN, सबवर्सन
मैंने पाया somewhere कि मैं जावा फाइलों में .svn फोल्डर और पैकेज के नाम की सामग्री के बीच बेतरतीबी को रोकने के लिए कई चरणों में कर देना चाहिए:
- पहले .svn निर्देशिकाओं को अद्यतन करने, निर्देशिका का नाम बदलने के लिए TortoiseSVN का उपयोग करें।
- फिर, मैन्युअल रूप से निर्देशिका को मूल नाम पर पुनर्नामित करें।
- अंततः जावास्क्रिप्ट को नए नाम पर संकुल (रिफैक्टर) का नाम बदलने के लिए ग्रहण का उपयोग करने के लिए, जावा फाइलों को अद्यतन करना।
यह मेरे लिए अच्छा लगता है, लेकिन मुझे यह जानने की जरूरत है कि वंश और इतिहास और बाकी सब कुछ अभी भी सुसंगत और अच्छी तरह से काम करेगा या नहीं।
मेरे पास उस सर्वर की कुंजी नहीं है, इसलिए मैं जल्दी से बैकअप चीजें नहीं करता हूं और एक या दो चीजों को आजमाता हूं। मैं ऐसा करने के लिए एक अच्छा कारण नहीं आना चाहता हूं, या ऐसा करने का एक तरीका जो काम करता है।
का नाम बदलने के परीक्षण के लिए आपकी मदद के लिए धन्यवाद,
एम Joanis
पैकेज
प्रक्रिया:
- एक नए पैकेज com.oldname.test बनाएं .renametest.subpackage। कि RenameTest0 ठीक चलाता
class RenameTest1 { public RenameTest1() { showMessage(); RenameTest0.showMessage(); } public static void showMessage() { System.out.println("RenameTest1!"); } }
टेस्ट:
renametest के तहत एक नया वर्ग जोड़ें RenameTest0.java कहा जाता है और युक्त
class RenameTest0 { public RenameTest0() { showMessage(); new RenameTest1(); } public static void showMessage() { System.out.println("RenameTest0!"); } public static void main(String[] args) { new RenameTest0(); } }
युक्त renametest.subpackage के तहत एक नया वर्ग जोड़ें।
- प्रतिबद्ध।
- दोनों कक्षाओं के संदेशों को बदलें।
- प्रतिबद्ध।
- फिर, एक वर्ग का संदेश बदलें और प्रतिबद्ध करें (केवल कुछ इतिहास बनाएं)।
- टेस्टरेनेम में पैकेज नाम बदलने के लिए ऊपर प्रस्तावित प्रक्रिया (मूल संदेश में तीन चरणों) लागू करें।
- प्रतिबद्ध।
- टेस्ट रन।
- संदेशों को दोबारा संशोधित करें और परीक्षण करें।
- प्रतिबद्ध।
- संस्करण पर वापस रोल करने का प्रयास करें जब दोनों संदेशों को पहली बार बदल दिया गया हो।
- अगर सब कुछ इस बिंदु पर ठीक काम करता है, तो यह अच्छा लगता है, नहीं? परीक्षण के
परिणाम:
- चरण 9 पर ध्यान दें: किसी और उलटे क्रम में यह करने के लिए (। ग्रहण तो नाम बदलने का नाम बदलने के TortoiseSVN), यह जटिल हो रही किया गया था, के रूप में TSVN एक नया बनाने था फ़ोल्डर/पैकेज और हटाए जाने के लिए पुराने को चिह्नित करता है ... तो आप ग्रहण के लिए नाम बदल नहीं सकते हैं जब तक कि आप खोए गए एसएसएन फ़ोल्डर्स इत्यादि को रोकने के लिए कहीं और पुराना पैकेज नहीं डालते हैं। अच्छा नहीं लग रहा था इस विधि के साथ आगे जाने का विचार। (अपने आप को ध्यान दें: रिकर्सिव पैकेज नामकरण के लिए चेकबॉक्स को चेक करना न भूलें!)
- चरण 14 पर नोट: कार्यरत! हम पिछले संस्करण देख सकते हैं; हमें बस इतना करना है कि प्रतिलिपि/चाल को तोड़ना न पड़े और यह ठीक है। एक बार नाम बदलने से पहले एक संस्करण में वापस लौटने के बाद, पैकेज नाम अच्छे नाम पर वापस नहीं आते हैं, हालांकि, शायद यह फिर से इसे पुन: सक्रिय करेगा।
- अंत नोट: मुझे आश्चर्यजनक क्रम में महत्वपूर्ण कदम उठाने के लिए आश्चर्यचकित था। इस पहले पैकेज के बीच में यह सही करने के लिए प्रयास करें, मुझे कुछ टीएसवीएन और मैन्युअल संशोधनों को वापस लेना पड़ा, इस प्रक्रिया के सटीक परिणामों की दोहराने योग्य प्रकृति पर थोड़ा सा संदेह डालना पड़ा। मुझे इसकी वैधता की पुष्टि करने के लिए दूसरा परीक्षण करना होगा। समेकित करने के लिए: यह अच्छा लग रहा है, लेकिन आगे परीक्षण की आवश्यकता है।
ऐसा करने का एक अच्छा कारण यह नहीं होगा कि यह किसी भी लाभ के लिए काम की अच्छी मात्रा (परीक्षण सहित) होगा। अगर आपको लगता है कि कोई com.oldname स्पेस में पुस्तकालयों का उत्पादन शुरू करने जा रहा है जो आपके साथ टकराएगा, तो यह इसके लायक हो सकता है, लेकिन डोमेन उपसर्गों का पूरा विचार विशिष्टता की गारंटी देना था, न कि मार्केटिंग लोक को संतुष्ट करना। – msw
मुझे यह स्वीकार करना होगा कि यह एक बहुत अच्छा बिंदु है ... – Joanis
@ डॉन किर्बी और @ करसुसेल: मैं आज या कल एक परीक्षा चलाने की कोशिश करूंगा और इसके बारे में एक प्रतिक्रिया दूंगा। – Joanis