क्या तोड़फोड़ में मैं अपने लॉगिन नाम के अलावा कोई अन्य उपयोगकर्ता हो सकता हूं?


253

मैं यह जानना चाहता हूं Subversionकि नाम बदलने के लिए मैं कैसे बदल सकता हूं, जिसके तहत मेरे परिवर्तन दिखाई देते हैं।

मैं अभी उपयोग करना शुरू कर रहा हूं Subversion। मैं वर्तमान में इसे XP लैपटॉप पर संस्करण नियंत्रण कोड के लिए उपयोग कर रहा हूं जहां मैं हमेशा अपनी पत्नी के नाम के तहत लॉग इन करता हूं। मैं अपने नाम के तहत परिवर्तन दिखाने के लिए तोड़फोड़ डीबी चाहूंगा।

बाद में मैं डीबी की नकल करूंगा ताकि यह पूरे घर तक पहुंच सके। मेरी पत्नी कार्यालय के कंप्यूटर का उपयोग करती है जहाँ वह हमेशा मेरे नाम से लॉग इन रहता है। मैं शायद इसे स्थापित करूँगा ताकि यह स्वचालित रूप से संशोधित दस्तावेजों में जांच कर सके ... अधिमानतः उसके नाम के तहत।

अंततः मैं शायद इसे किसी अन्य उपयोगकर्ता नाम के तहत एक linux मशीन से उपयोग कर रहा हूँ।

क्या उपयोगकर्ता के नाम को बदलने के लिए उपयोगकर्ता वातावरण को संशोधित करने का कोई तरीका है जिसे सबवर्सन आपको कॉल करता है? मुझे लगता है कि सेटिंग की तरह कुछ SVN_USERNAME='Mark'होता है जो कि ओवरराइड होता है, हालांकि आमतौर पर इसे नाम मिलता है।

अद्यतन: यह उस --usernameध्वज की तरह दिखता है जिसे माइकल ने "svn stat"स्थानीय फ़ाइल के लिए, रिपॉजिटरी: द्वारा रिपोर्ट किए गए नाम को बदलने के लिए काम करने के लिए कहा था । इसके अलावा, यह चिपचिपा है, इसलिए आपको इसे अगले आदेश के लिए निर्दिष्ट करने की आवश्यकता नहीं है। मैंने भी रिबूट किया और यह अभी भी "--username"अपने पिछले बूट से मूल्य का उपयोग करता है ।

जवाबों:


280

अधिकांश तोड़फोड़ आदेश --usernameउस उपयोगकर्ता नाम को निर्दिष्ट करने का विकल्प लेते हैं जिसे आप रिपॉजिटरी में उपयोग करना चाहते हैं। सबवर्सन प्रत्येक काम की प्रतिलिपि में उपयोग किए गए अंतिम रिपॉजिटरी उपयोगकर्ता नाम और पासवर्ड को याद करता है, जिसका अर्थ है, अन्य बातों के अलावा, यदि आप उपयोग करते svn checkout --username myuserहैं तो आपको उपयोगकर्ता नाम फिर से निर्दिष्ट करने की आवश्यकता नहीं है।

जैसा कि कामिल किसियल कहते हैं , जब सबवर्सन फाइल सिस्टम से सीधे रिपॉजिटरी तक पहुंच रहा है (यानी रिपॉजिटरी URL फॉर्म का है file:///path/to/repoया file://file-server/path/to/repo), यह रिपॉजिटरी तक पहुंचने के लिए आपकी फाइल सिस्टम परमिशन का उपयोग करता है। और जब आप SSH टनलिंग ( svn+ssh://server/path/to/repo) के माध्यम से कनेक्ट होते हैं , तो SVN आपके SSH लॉगिन द्वारा निर्धारित सर्वर पर आपके FS अनुमतियों का उपयोग करता है । उन मामलों में, svn checkout --usernameआपके भंडार के लिए काम नहीं कर सकते हैं।


त्वरित उत्तर के लिए धन्यवाद। - पुनर्जन्म के दौरान भी --username ध्वज बहुत चिपचिपा प्रतीत होता है। और यह मेरी फाइल पर ठीक काम करता है: रिपॉजिटरी।
बाजार

70

Svn से अधिक ssh के लिए प्रयास करें:

svn list svn+ssh://[user_name]@server_name/path_to_repo  

svn आपको user_nameपासवर्ड के लिए संकेत देगा ।


1
उपयोगकर्ता नाम के साथ काम नहीं करता है जैसे: johndoe@example.com
neoneye

4
https://user_name@.../pathमेरे लिए काम नहीं किया (साइबर) लेकिन --usernameठीक काम करता है।
zelanix

44

आप डिफ़ॉल्ट उपयोगकर्ता को ~ / .subversion / सर्वर के माध्यम से सेटअप कर सकते हैं:

[groups]
yourgroupname = svn.example.com

[yourgroupname]
username = yourusername

कृपया ध्यान रखें कि svn के पुराने संस्करण इसका समर्थन नहीं करते हैं (उदाहरण के लिए 1.3.1 [sic!])।


37
"svn co --username=yourUserName --password=yourpassword http://path-to-your-svn"

दूसरे उपयोगकर्ता खाते पर मेरे लिए काम किया। यद्यपि आपको फिर से उपयोगकर्ता नाम / पासवर्ड दर्ज करने के लिए कहा जाएगा। आपको एक बार ऊपर की तरह लॉगिन करने की आवश्यकता है और आप बाद के समय के लिए पूरी तरह तैयार हैं (जब तक कि आप अपनी मशीन को पुनः आरंभ नहीं करते)।


4
कमांड लाइन पर पासवर्ड की आपूर्ति करते समय ध्यान रखें। जो कोई भी मशीन पर प्रक्रिया सूची देख सकता है, वह प्रक्रिया सूची में पासवर्ड देख सकेगा। एकल-उपयोगकर्ता प्रणाली पर ठीक है, लेकिन बहु-उपयोगकर्ता प्रणाली पर इतना अच्छा नहीं है।
ब्लैटर

12

यदि आपको svn + ssh के साथ उपयोग के लिए अपने लॉग इन उपयोगकर्ता के अलावा कोई उपयोगकर्ता नाम निर्दिष्ट करने की आवश्यकता है, तो बस अपने .ssh / config फ़ाइल में एक प्रविष्टि जोड़ें :

मेजबान example.com
उपयोगकर्ता jdoe

आदमी ssh_config आपको इसके बारे में सब बताएगा। मुझे इस गतिशील बनाने के लिए अभी तक कोई रास्ता नहीं मिला है (उदाहरण के लिए पर्यावरण चर पर आधारित)।
bbaassssiiee

11

यदि उपयोगकर्ता नाम में लॉग इन का उपयोग करने में विफल रहता है, तो तोड़फोड़ आमतौर पर मुझसे मेरे "तोड़फोड़ उपयोगकर्ता नाम" के लिए पूछती है। इसलिए, जब मैं आलसी (आमतौर पर) होता हूं, तो मैं इसे अपने पासवर्ड के लिए पूछूंगा और मैं एंट्री मारूंगा, और यूजरनेम प्रॉम्प्ट का इंतजार करूंगा और अपने सबवर्सन यूजरनेम का उपयोग करूंगा।

अन्यथा, माइकल का समाधान उपयोगकर्ता नाम को सही तरीके से निर्दिष्ट करने का एक अच्छा तरीका है।


1
मैं इसे एक बेहतर उत्तर मानता हूं क्योंकि यह सभी SVN कमांड्स (चेकआउट, कमिट, आदि) के लिए काम करता है, जहां --username फ्लैग या तो न के
बराबर होता है

7

अधिकांश उत्तर svn + ssh के लिए प्रतीत होते हैं, या हमारे लिए काम नहीं करते हैं।

Http एक्सेस के लिए, कमांड लाइन से SVN उपयोगकर्ता को लॉग आउट करने का सबसे आसान तरीका है:

rm ~/.subversion/auth/svn.simple/*

हैट टिप: http://www.yolinux.com/TUTORIALS/Subversion.html


6

मेरा मानना ​​है कि यदि आप फ़ाइल का उपयोग करते हैं: // विधि आपके तोड़फोड़ रिपॉजिटरी तक पहुंचने के लिए, आपके परिवर्तन हमेशा उस उपयोगकर्ता के तहत किए जाते हैं जो रिपॉजिटरी तक पहुंचता है। आपको एक ऐसी विधि का उपयोग करने की आवश्यकता है जो प्रमाणीकरण का समर्थन करती है जैसे http: // या svn: //।

Http://svnbook.red-bean.com/en/1.5/svn-book.html#svn.serverconfree.bosing देखें


6

या तो अपाचे मॉड्यूल या svnerve के साथ तोड़फोड़ का उपयोग करना। मैं कई उपयोगकर्ताओं का उपयोग करके ऑपरेशन करने में सक्षम रहा हूं--username

जब भी आप एक 'नए' उपयोगकर्ता के रूप में एक सबवर्सन कमांड को आमंत्रित करते हैं, तो आपकी $HOME/.subversion/auth/<authentication-method>/निर्देशिका में उस उपयोगकर्ता के लिए एक नई प्रविष्टि होगी जो आपके द्वारा उस विशेष उपयोगकर्ता के रूप में संपर्क कर रहे सर्वर के लिए सही पासवर्ड या प्रमाणीकरण विधि के साथ प्रमाणित करने में सक्षम है) ।


2

यदि आप रिपॉजिटरी से जुड़ने के लिए svn + ssh का उपयोग कर रहे हैं तो केवल एक चीज जो आपको प्रमाणित करती है और आपको अधिकृत करती है वह है आपका ssh क्रेडेंशियल्स। हर किसी को नजरअंदाज कर दिया जाता है। जैसे ही यह आपके ssh कनेक्शन में स्थापित होता है, आपका उपयोगकर्ता नाम तोड़फोड़ में लॉग इन किया जाएगा। इसका एक उत्कृष्ट विवरण jimmyg.org/blog/2007/subversion-over-svnssh-on-debian.html पर है


2

पर जाएं ~/.subversion/auth/svn.simple/*, और आपको उन फ़ाइलों की एक सूची दिखाई देगी जिसमें आपके svn उपयोगकर्ता खाते के बारे में जानकारी है। बस उन सभी को हटा दें जिनकी आपको आवश्यकता नहीं है।

उसके बाद, जब आप कुछ भी करते हैं जो एसवीएन ऑपरेशन के संबंध में है, जैसे कि प्रतिबद्ध, आरएम, आदि। उपयोगकर्ता नाम या पासवर्ड दर्ज करने के लिए आपको फिर से संकेत दिया जाएगा।


-1

TortoiseSVN हमेशा उपयोगकर्ता नाम के लिए संकेत देता है। (जब तक आप इसे नहीं बताएं)


नहीं, यह नहीं है। लिनक्स के लिए 1.9.5 पर नहीं, कम से कम।
drkvogel

यह डिफ़ॉल्ट रूप से आपके स्थानीय उपयोगकर्ता नाम का उपयोग करता है, जो कि दूरस्थ रिपॉजिटरी से कनेक्ट करते समय हमेशा वह नहीं होता है जो आप चाहते हैं।
drkvogel

-3

मेरा मानना ​​है कि आप SVN_USERअपने SVN उपयोगकर्ता नाम को बदलने के लिए पर्यावरण चर सेट कर सकते हैं ।


3
क्या आप उसके लिए एक संदर्भ प्रदान कर सकते हैं? मैंने एक खोज की और केवल svn_username पाया, जो कि एक पैच है जिसे किसी ने बनाया है और मैं यह नहीं बता सकता कि उसने इसे मेनलाइन पर बनाया है या नहीं ... मुझे लगता है कि मुझे ऐसा करने पर अन्य हिट मिल जाते।
बाजार
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.