2009-09-09 6 views
60

जब मैं इस तरह मर्क्युरियल में कुछ प्रतिबद्ध:आप उपयोगकर्ता नाम कैसे सेट करते हैं जो Mercurial उपयोग करता है?

No username found, using '[email protected]' instead 

ChunkyMonkey मेरे Windows मशीन नाम है और स्पष्ट रूप से WindowsVistaAdmin उपयोगकर्ता है कि मैं इस पर के रूप में प्रवेश कर रहा हूँ:

hg commit -m "username question" 

मैं इस उत्पादन को देखने के मशीन।

मैं उपयोगकर्ता नाम को कुछ और सम्मानजनक, या कम से कम, संक्षिप्त रूप से कैसे सेट कर सकता हूं?

उत्तर

95

अपने ~/.hgrc (* nix) में या mercurial.ini (विंडोज़) फ़ाइल:। XP के लिए C:\Documents and Settings\[username]\ और कम, C:\Users\[username]\ Vista के लिए और उच्च में आप भी चला सकते हैं hgtk userconfig

[ui] 
username = First Last <[email protected]> 

(mercurial.ini है अगर आप TortoiseHg है स्थापित किया है और इसे उस तरह से करते हैं)

+2

पर OSX 10.8, मैं अपने आप को .hgrc दाखिल करना था। –

15

सूचना here से:।

उपयोगकर्ता नाम

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

  1. आप एचजी करने के लिए एक -u विकल्प निर्दिष्ट करते हैं आदेश लाइन पर आदेश के लिए प्रतिबद्ध, एक उपयोगकर्ता नाम के बाद, यह है को हमेशा सर्वोच्च दिया पूर्वता।
  2. यदि आपने HGUSER पर्यावरण चर सेट किया है, तो यह अगला चेक किया गया है।
  3. यदि आप उपयोगकर्ता नाम प्रविष्टि के साथ .hgrc नामक अपनी होम निर्देशिका में कोई फ़ाइल बनाते हैं, तो इसका उपयोग के बाद किया जाएगा। यह देखने के लिए कि फ़ाइल की सामग्री कैसी दिखनी चाहिए, नीचे दिए गए अनुभाग "एक Mercurial कॉन्फ़िगरेशन फ़ाइल" नामक अनुभाग देखें।
  4. यदि आपने EMAIL पर्यावरण चर सेट किया है, तो यह होगा।
  5. Mercurial आपके स्थानीय उपयोगकर्ता नाम और होस्ट नाम का पता लगाने के लिए आपके सिस्टम से पूछताछ करेगा, और इन घटकों से उपयोगकर्ता नाम का निर्माण करेगा। चूंकि यह अक्सर उपयोगकर्ता नाम में परिणाम देता है जो बहुत उपयोगी नहीं है, तो यह चेतावनी प्रिंट करेगा यदि उसे ऐसा करना है।

तो इन तंत्रों के सभी असफल, मर्क्युरियल असफल हो जायेगी, एक त्रुटि मुद्रण संदेश।इस मामले में, यह को तब तक प्रतिबद्ध नहीं करेगा जब तक आप उपयोगकर्ता नाम सेट नहीं करते।

आप HGUSER वातावरण चर और -u विकल्प एचजी के बारे में सोच उपयोगकर्ता नाम की ओवरराइड मर्क्युरियल के डिफ़ॉल्ट चयन करने के तरीके के रूप में आदेश के लिए प्रतिबद्ध होना चाहिए। सामान्य उपयोग के लिए, अपने लिए उपयोगकर्ता नाम सेट करने का सबसे आसान और सबसे मजबूत तरीका है .hgrc फ़ाइल बनाकर; विवरण के लिए नीचे देखें।

+7

क्या रिपॉजिटरी द्वारा उपयोगकर्ता नाम सेट करने की संभावना है? – edomaur

+4

@edomaur, हां यह है, आपको प्रश्न में भंडार में '।/Hg/hgrc' फ़ाइल को संपादित करना होगा, जहां आपको '[ui]' अनुभाग – user907860

+10

में' उपयोगकर्ता नाम = देव सर्वर 'सेट करना होगा, स्टैक ओवरफ्लो को बनाया गया था Google एक संक्षिप्त और पचाने योग्य प्रारूप में जानकारी प्रदान नहीं करता है। –

2

यहां बताया गया है कि मेरी विंडोज़ /users/xxx/mercurial.ini दिखती है। मुझे किसी भी चीज़ के लिए उपयोगकर्ता नाम या पासवर्ड दर्ज नहीं करना है। ऐसा लगता है कि यह रेपो विशिष्ट हो सकता है। मेरे पास tortoiseHG स्थापित है, सुनिश्चित नहीं है कि इससे कोई फर्क पड़ता है।

[ui] 
username=mbroekhuis 

[auth] 
repo.prefix=http://myrepo 
repo.username=mbroekhuis 
repo.password=secret 
+1

मुझे नहीं लगता कि सादे टेक्स्ट में आपका पासवर्ड रखना एक अच्छा विचार है। – Mo2

+0

मैं सहमत हूं। आप उस भाग को छोड़ सकते हैं। –

22

यदि आप --config का उपयोग करना चाहते हैं तो आप सीधे कमांड लाइन पर अपना उपयोगकर्ता नाम निर्दिष्ट कर सकते हैं। उदाहरण के लिए

hg --config ui.username=frymaster -m "comment here" commit 

वास्तव में, आप इस आदेश के साथ अपने .hgrc में कुछ भी ओवरराइड कर सकते हैं। बस अपने .hgrc को देखो और प्रारूप पर ध्यान दें:

[section] 
key=val 

कि

hg --config section.key=val 
+0

रेपो में किसी अन्य डेवलपर के परिवर्तन डालने के लिए बिल्कुल सही! – sage

+0

यह संभव कारण है कि यह Mercurial के दस्तावेज़ीकरण/सहायता में नहीं है? मैंने सोचा कि मैं ऐसा कर सकता हूं, लेकिन लगभग सोचने के लिए तय किया गया कि बस मंद हो गया था और इसे तब तक अनुमति नहीं दी गई जब मुझे इसे 'hg config -h',' hg config -h -verbose', 'hg मदद के माध्यम से नहीं मिला कॉन्फ़िगरेशन ', न ही ऑनलाइन https://www.selenic.com/mercurial/hg.1.html#config – naki

+0

ओह ... कभी नहीं। आपने 'config' की बजाय' --config' कहा: यह अन्य आदेशों के लिए एक विकल्प है, जो कमांड-स्तर ओवरराइडिंग के लिए उपयोग किया जाता है ... अभी भी जो भी मैं चाहता हूं। जीआरआरआर .... मैं इस रेपो के लिए 'hg config -l ui.username = उपयोगकर्ता नाम टाइप क्यों नहीं कर सकता। यह पहचान-सेटिंग उपनामों के आसान कार्यान्वयन की अनुमति देगा: '[उपनाम] पहचान 1 = config -l ui.username = मेरी पूर्व लिखित उपयोगकर्ता जानकारी सभी नए क्लोन रेपो के उपयोग से संबंधित विभिन्न पहचानों के उपयोग के लिए नामित करने के लिए तैयार है। – naki

1

के लिए सीधे तब्दील HG कार्यक्षेत्र

सेटिंग्स

enter image description here

का उपयोग करने की कोशिश कर किसी को भी के लिए उपयोगकर्ता वैश्विक सेटिंग्स

enter image description here

संपादित फ़ाइल

enter image description here

सहेजें

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