2013-12-13 9 views
16

मैं एक विंडोज़ व्यक्ति से विरासत में प्राप्त एक परियोजना के साथ काम कर रहा हूं। यह एचजी संस्करण नियंत्रण के तहत है। यह कुछ असंगत फ़ाइल नाम सम्मेलन मिला है जिसे मैं ठीक करने की कोशिश कर रहा हूं, इसलिए मैंने उस jQuery लाइब्रेरी के मूल लेखक का पालन करने के लिए jquery.fullpage.js नाम jquery.fullPage.js (केवल ऊपरी "पी") नाम की एक फ़ाइल का नाम बदल दिया।Mercurial फ़ाइल नाम बदलने (केस बदलने) को अनदेखा करता है

हालांकि, एचजी लोअरकेस-अपरकेस परिवर्तन को नाम के रूप में या हटाए गए/बनाई गई फ़ाइल के रूप में नहीं पहचानता है। नतीजतन, मैं उस बदलाव को नहीं कर सकता और इसे जीवंत बना सकता हूं। यह स्थानीय रूप से काम करता है लेकिन रिमोट स्टेजिंग सर्वर पर जहां मैंने धक्का दिया, यह 404 त्रुटियां देता है। जाहिर है, रिमोट पर फ़ाइलों का नाम बदलकर अपरकेस पी

मुझे पता है कि मैं फ़ाइल को हटाकर, फ़ाइल को पुनर्स्थापित कर सकता हूं, पुनर्स्थापित कर सकता हूं और नाम बदल सकता हूं, फिर से प्रतिबद्ध हूं लेकिन ऐसा लगता है कि यह एक कच्चा तरीका है इसे ठीक करना

कैसे मैं इसे ठीक करते हैं?

उत्तर

20

यह ऐसा मामला समस्या तह है। Mercurial के माध्यम से फ़ाइल का नाम बदलने का प्रयास करें: hg rename jquery.fullpage.js jquery.fullPage.js

+0

यह काम किया। मैं इस समाधान से बहुत खुश नहीं हूं। हालांकि मैंने केस-फोल्डिंग समस्या के बारे में और अधिक पढ़ा है और यह केस-असंवेदनशील फाइल सिस्टम के साथ एक समस्या प्रतीत होता है। – dashmug

+0

मैंने 'mv' का उपयोग किया लेकिन यह अभी भी सिस्टम का कारण नहीं बनता है जिसे मैंने 'पुल -उव' का नाम बदलने के लिए चलाया। ओह, मैं एक फ़ोल्डर/निर्देशिका का नाम बदलने की कोशिश कर रहा हूं जिसे [अन्य उत्तर से] [https://stackoverflow.com/a/28111220/429091) संबोधित किया गया है। – binki

0

यदि आप ओएस एक्स पर हैं और आप एचएफएस का उपयोग कर रहे हैं जो केस-जागरूक है लेकिन केस-संवेदी नहीं है, तो एचजी (न ही गिट, जैसा कि मैंने पाया) परिवर्तन को उठाएगा। मैं लिनक्स का उपयोग करता हूं और मेरा सहकर्मी ओएस एक्स का उपयोग करता है और हमें गिट के साथ एक ही समस्या थी। मध्यवर्ती नाम के माध्यम से जाना एक वर्कअराउंड है, या जैसा कि आपने सुझाव दिया है, मध्यवर्ती डिलीट का उपयोग करना।

मेरा मानना ​​है कि नाम बदलने के लिए खुद को एचजी का उपयोग करने का जैकब का सुझाव काम करेगा, लेकिन मैंने कोशिश नहीं की है, क्योंकि मेरे पास एचजी इंस्टॉल नहीं है।

+0

दरअसल, मैं ओएसएक्स पर हूं। यह परिवर्तन का पता नहीं लगाता है। रिमोट स्टेजिंग सर्वर लिनक्स पर है इसलिए स्टेजिंग सर्वर ठीक काम करता है। – dashmug

14

यदि आप एक फाइल का नाम बदल रहे हैं तो hg rename के साथ पहले से ही कहा जा रहा है कि आप अच्छे हैं।

हालांकि (कम से कम विंडोज पर), आप एक फ़ोल्डर पुनर्नामित कर रहे हैं तो आप इसे सीधे नाम नहीं बदल सकते। आम कामकाज इंटरमीडिएट का उपयोग करना है:

hg rename Foo tmp 
hg rename tmp foo 

एक और कामकाज मध्यवर्ती हटाने का उपयोग कर रहा है। लेकिन यह को हतोत्साहित करता है क्योंकि आप फ़ाइल इतिहास खो देंगे।

+1

क्या मुझे उन दो नामों के बीच एक प्रतिबद्धता की आवश्यकता है? – binki

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