2010-12-01 7 views
6

मैंने अपने प्रतिबद्ध संदेश के रूप में Unicode:æøåÆØÅ के सरल पाठ का उपयोग करके Mercurial के लिए मेरी रैपर लाइब्रेरी के माध्यम से एक सरल प्रतिबद्ध करने की कोशिश की। यह एक पाठ फ़ाइल के लिए लिखा और उचित पैरामीटर के साथ तेज करने के लिए दिया जाता है:Mercurial संदेश संदेश और लॉग, क्या एन्कोडिंग समर्थित है, एचजी देखभाल बिल्कुल करता है?

hg commit --logfile FILE 

मैं बाद में TortoiseHg साथ रिपोजिटरी को देखें, तो अक्षरों को सही reproduced कर रहे हैं। कंसोल पर, वे घायल हैं:

 
[C:\Temp] :hg log 
changeset: 0:6a0911410128 
tag:   tip 
user:  Lasse V. Karlsen 
date:  Wed Dec 01 21:48:54 2010 +0100 
summary:  Unicode:æøåÆØÅ 

अगर मैं एक फाइल करने के लिए hg log के उत्पादन, रीडायरेक्ट कर और इसे खोलने के लिए, æøåÆØÅ सही ढंग गयी है।

  • मैं hg पूछना एक फाइल करने के लिए लॉग सीधे लिखने के लिए कर सकते हैं, या मैं मानक आउटपुट पुनर्निर्देशित करने के लिए है:

    तो, मेरे सवाल है?

  • क्या यह कंसोल के लिए पायथन एन्कोडिंग के साथ समस्याएं पैदा करेगा, यानी। कुछ पात्र आउटपुट को उलझाने के बजाय hg क्रैश करेंगे?
  • क्या उन प्रतिबद्ध संदेशों के लिए एक ज्ञात समर्थित एन्कोडिंग है जिसका मुझे पालन करना चाहिए?

या यह सिर्फ इस सरल है:

  • मर्क्युरियल परवाह नहीं है, यह फ़ाइल मैं इसे देने की सामग्री, जो कुछ भी सामग्री, और दुकानों के रूप में संदेश के लिए प्रतिबद्ध लेता है। लॉग का उत्पादन करते समय, यह सिर्फ इस संबंध में पाइथन कंसोल आउटपुट लाइब्रेरी की सीमाओं के शिकार होने के कारण कंसोल पर वापस आ जाएगा?

उत्तर

8

निम्नलिखित समस्या का समाधान नहीं हो सकता है लेकिन इसे डीबग करने में मदद कर सकता है।

की जाँच करें: https://www.mercurial-scm.org/wiki/EncodingStrategy

अगर मैं एक फाइल करने के लिए एचजी लॉग के उत्पादन, रीडायरेक्ट कर और इसे खोलने के लिए, æøåÆØÅ सही ढंग गयी है।

तो कम से कम Mercurial प्रतिबद्ध जानकारी सही ढंग से संग्रहीत कर रहा है। यह केवल आउटपुट है जो गड़बड़ है।

कुछ काम इन पंक्तियों के साथ क्या हो रहा है, लेकिन नहीं करने के लिए इस

संबंधित [संपादित करें: तथ्य यह है कि आप छूटी खिड़कियों पर कर रहे हैं]

पर कैसे अंतिम अनुच्छेद देखें चरित्र सेट संगतता समस्याओं से निपटने के लिए: https://www.mercurial-scm.org/wiki/CharacterEncodingOnWindows

यह कहता है:

  • आपके सिस्टम कोड पेज के लिए एक वातावरण चर
    • HGENCODING स्थापना का पता चला सिस्टम ने वर्ण सेट को पार कर जाएगी साथ
    • ओवरराइड मर्क्युरियल के कूट मिलान करने के लिए अपने कंसोल कोड सेट करें।
  • ओवरराइड एक कमांड लाइन विकल्प
    • वैश्विक --encoding विकल्प का उपयोग के साथ मर्क्युरियल के कूट आप प्रत्येक आदेश पर अपना पसंदीदा एन्कोडिंग सेट करने के लिए अनुमति देगा।
  • उपयोग जीयूआई आधारित उपकरण मर्क्युरियल
    • के साथ बातचीत करने यह भी समस्या का निराकरण किया कि परेशान कंसोल पूरी तरह से नष्ट करने से।
  • उपयोग लिनक्स/यूनिक्स और UTF-8
    • यह बनाता है बिल गेट्स रोना।
+0

लागू नहीं: वह Windows का उपयोग कर रहा है ('C: \ Temp')। @Lasse: आप किस कंसोल का उपयोग कर रहे हैं? (आपका प्रॉम्प्ट डिफ़ॉल्ट कमांड प्रॉम्प्ट प्रॉम्प्ट नहीं है।) –

+0

कमांड ले लो, लेकिन क्या इससे कोई फर्क पड़ता है? मैं प्रोग्राम से .net से चिल्ला रहा हूं और मुझे लगता है (जो बुरा है) कि यह cmd का उपयोग करता है। कल जांच लेंगे, बस बिस्तर से पहले मेरे आईपैड पर पढ़ना। –

+0

यह भी ध्यान दें कि PROMPT कमांड का उपयोग करके कोई भी कमांड प्रॉम्प्ट टेक्स्ट बदल सकता है, अगर आपने इसे उठाया है। –

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