कमांड लाइन के माध्यम से TortoiseSVN का उपयोग करना


253

मैं कमांडलाइन SVN विकल्पों का उपयोग करना चाहता हूं। मैं TortoiseSVN का उपयोग करता हूं, और मैं कई कमांड चलाता हूं और मुझे निम्न त्रुटि मिलती है।

'svn' को आंतरिक या बाह्य कमांड के रूप में नहीं पहचाना जाता है

मैंने कमांड का उपयोग किया

svn checkout [-N] [--ignore-externals] [-r rev] URL PATH

मुझे लगता है कि मुझे कुछ पर्यावरण चर या कुछ और जोड़ना चाहिए।

कमांड लाइन से TortoiseSVN का उपयोग मुझे क्या करना चाहिए या नहीं करना चाहिए?


4
मैं स्लिक तोड़फोड़ का सुझाव देता हूं । और इनस्टॉल करने के बाद बस इसके बिन डाइरेक्टरी को अपने रास्ते में जोड़ें। -भूप्स
भूप्स

3
TortoiseSVN शायद सबसे ज्यादा इस्तेमाल किया जाने वाला विंडोज GUI SVN क्लाइंट है और यह पूरी तरह से प्रलेखित है। मैं इसे छद्म ग्राहक नहीं कहूंगा क्योंकि यह संदर्भ-कमांड कार्यान्वयन नहीं है।
जॉय

18
TortoiseSVN (इस लेखन का 1.7.1) के नवीनतम संस्करण में कमांड लाइन टूल की स्थापना के दौरान एक विकल्प है। यह डिफ़ॉल्ट रूप से चालू नहीं है, लेकिन यह svn के लिए मानक कमांड लाइन फाइलें स्थापित करेगा। इसलिए अब सिल्क की तरह एक अलग तोड़फोड़ पैकेज स्थापित करने की आवश्यकता नहीं है।
वी

1
बस एक त्वरित FYI, यदि स्लैक svn का उपयोग करते हुए और आपको वह त्रुटि मिलती है: "'svn' को मान्यता नहीं है ..." आपको सिस्टम गुण संवाद खोलना पड़ सकता है। जबकि स्लिक आपके पथ चर में सही प्रविष्टि जोड़ता है, आपको चर को सक्षम करने के लिए संपादन और 'ठीक' (भले ही आपने कोई परिवर्तन न किया हो) पर क्लिक करना पड़ सकता है। कम से कम Windows Vista का उपयोग करने का मेरा अनुभव था। मैंने ऐसा करने के बाद, Windows ने पथ में परिवर्तन को मान्यता दी और मेरे svn कमांड को मान्यता दी गई।
जेसी

1
मैंने पर्यावरण चर में स्लिकस्वन / बिन पथ को जोड़ा है, लेकिन अभी भी यह त्रुटि मिलती है ...
सिंह

जवाबों:


463

डिफ़ॉल्ट रूप से TortoiseSVN में हमेशा एक GUI (ग्राफिकल यूजर इंटरफेस) जुड़ा होता है। लेकिन इंस्टॉलर (संस्करण 1.7 और बाद के संस्करण) पर आप "कमांड लाइन क्लाइंट टूल्स" विकल्प का चयन कर सकते हैं ताकि आप कमांड लाइन से svn कमांड (जैसे svn कमिट और एसवीएन अपडेट) को कॉल कर सकें।

यहां इंस्टॉलर में "कमांड लाइन क्लाइंट टूल्स" विकल्प का स्क्रीनशॉट है, आपको यह सुनिश्चित करने की आवश्यकता है कि आप इसे चुनें:

कैसे-: स्थापित करने के लिए TortoiseSVN-CommandLineTools


52
व्यक्तिगत रूप से, मैं इस उत्तर को स्वीकार करता हूं: कोई माध्यमिक स्थापना नहीं, और मानक एसवीएन कमांड लाइन तक पूर्ण पहुंच।
Haroldo_OK

2
अतिरिक्त लाभ यह भी है कि कमांड लाइन टूल संस्करण TortoiseSVN संस्करण के साथ सिंक में रहते हैं।
the_mandrill

4
... जिसका अर्थ है, अधिक विस्तार से: तोड़फोड़ की कार्यशील निर्देशिका स्वरूप कुछ समय में बदल गया है, उदाहरण के लिए संस्करण 1.7 और 1.8। एक 1.7 क्लाइंट पुराने वर्किंग डायरेक्टरी का उपयोग नहीं करेगा जब तक कि यह svn upgradeडी न हो ; उसके बाद, 1.6 ग्राहक अब इसका उपयोग नहीं कर पाएंगे।
तोबियास

38
एक टिप के रूप में, यदि आपके पास पहले से ही कछुआ स्थापित है, तो पुनर्स्थापित करने की कोई आवश्यकता नहीं है। आप बस मूल इंस्टॉलर .msi फ़ाइल खोल सकते हैं, और "अनइंस्टॉल" चुनने के बजाय आप "संशोधित करें" चुन सकते हैं। यह बस कुछ भी गड़बड़ के बिना अपने वर्तमान कछुआ स्थापना अद्यतन करेगा।
ट्रेवर

5
एक टिप के रूप में, यदि आपके पास पहले से ही कछुआ स्थापित है, और .msi फ़ाइल नहीं है - आप कंट्रोल पैनल पर जा सकते हैं -> प्रोग्राम और फीचर्स, और फिर TortoiseSVN -> संशोधित करें का चयन करें।
१२:०२

131

TortoiseSVN में एक कमांड-लाइन इंटरफ़ेस है जो TortoiseSVN GUI स्वचालन के लिए इस्तेमाल किया जा सकता है और यह सामान्य सबवर्सन से अलग है।

आप दस्तावेज में TortoiseSVN के कमांड-लाइन विकल्पों के बारे में जानकारी पा सकते हैं: परिशिष्ट D. स्वचालित TortoiseSVN । यहां काम करने का मुख्य कार्यक्रम है TortoiseProc.exe

लेकिन पहले से ही शीर्ष पर एक नोट बहुत ज्यादा कहते हैं:

याद रखें कि TortoiseSVN एक GUI क्लाइंट है, और यह ऑटोमेशन गाइड आपको दिखाता है कि TortoiseSVN संवाद बनाने के लिए उपयोगकर्ता इनपुट एकत्र करते हैं। यदि आप ऐसी स्क्रिप्ट लिखना चाहते हैं जिसके लिए किसी इनपुट की आवश्यकता नहीं है, तो आपको इसके बजाय आधिकारिक सबवर्सन कमांड लाइन क्लाइंट का उपयोग करना चाहिए।

एक और विकल्प यह होगा कि आप सबवर्सन बायनेरिज़ को स्थापित करें। स्लिक SVN एक अच्छा बिल्ड है (और इसमें Collabnet जैसे पंजीकरण की आवश्यकता नहीं है)। TortoiseSVN के हाल के संस्करणों में कमांड-लाइन क्लाइंट भी शामिल है यदि आप इसे स्थापित करना चुनते हैं।


2
बस इसे जोड़ने के लिए - सुनिश्चित करें कि कछुआ आपके रास्ते पर है। नहीं तो कुछ नहीं चलेगा।
थॉमस ओवेन्स

2
इस उत्तर के आधार पर, मुझे लगता है कि सबसे अच्छा शर्त वास्तविक एसवीएन कमांड-लाइन क्लाइंट स्थापित करने के बजाय दूसरा कमांड-लाइन इंटरफ़ेस सीखना होगा। मुझे नहीं पता कि यह कैसे करना है, हालांकि।
jprete

2
थॉमस: डिफ़ॉल्ट रूप से TortoiseSVN और Slik SVN दोनों ही अपने हिसाब से रास्ता बदल देंगे।
जॉय

23
यह समाधान केवल पुराना है, TortosieSVN इंस्टॉलर में अब कमांड लाइन टूल शामिल हैं।
जोश

1
आपको स्थापना के बाद रिबूट करने की आवश्यकता हो सकती है ताकि आपको अपने पैट पर्यावरण परिवेश में परिवर्तन प्राप्त हो।
ओलिवर बॉक

91

मामले में आप पहले से ही TortoiseSVN GUI स्थापित कर चुके हैं और सोच रहे हैं कि कमांड लाइन टूल में कैसे अपग्रेड किया जाए, यहां कदम हैं ...

  1. विंडोज कंट्रोल पैनल → प्रोग्राम और फीचर्स पर जाएं (विंडोज 7+)
  2. TortoiseSVN का पता लगाएं और उस पर क्लिक करें।
  3. उपलब्ध विकल्पों में से "बदलें" चुनें।
  4. आगे के चरणों के लिए इस छवि को देखें।

    TortoiseSVN कमांड लाइन सक्षम करें

  5. कमांड लाइन क्लाइंट टूल के पूरा होने के बाद, कमांड प्रॉम्प्ट खोलें और svn helpसफल इंस्टॉल की जांच करने के लिए टाइप करें।


आपका उत्तर पहले से प्रारूपित नहीं था। और इसमें अवांछित जानकारी थी। उसने आपके उत्तर को सही ढंग से तैयार करने और संपादित करने दोनों को किया। कृपया अधिक के लिए सहायता केंद्र पढ़ें। ;)
लकी

Win10 "ऐप्स और फीचर्स" है .. लेकिन यह शायद स्पष्ट है
स्लिम

ठीक है मुझे विश्वास नहीं है। कृपया इसे मेटा में एक प्रश्न के रूप में पूछें कि क्या संपादन वैध है या नहीं। उसने न केवल आपके उत्तर को प्रारूपित किया, उसने अवांछित जानकारी को भी हटा दिया, जो उत्तर के लिए आवश्यक नहीं है। इसे मॉडरेशन कहा जाता है। और उच्च प्रतिनिधि वाले लोग आमतौर पर साइट को मॉडरेट और योगदान करके साफ करते हैं यही कारण है कि मैंने आपको सहायता केंद्र देखने का सुझाव दिया है। लेकिन आप केवल ज्ञान प्राप्त करने के बजाय बहस करना चाहते हैं। सौभाग्य ।:54
लकी

हाँ वास्तव में मुझे ज्ञान साझा करने में दिलचस्पी है और किसी के काम का दावा करने और प्रचार करने में नहीं। इसके अलावा, मैं उच्च प्रतिनिधि का अंधा अनुयायी नहीं हूं।
देवेन्द्र वाजा

जब हम कमांड लाइन को सक्षम करते हैं, तो यह एप्लिकेशन पथ के लिए पूछता है जिसे डाउनलोड करना आवश्यक है। पथ: osdn.net/projects/tortoisesvn/storage/1.12.0/Application/…
अमित जोशी

27

कमांड सपोर्ट का उपयोग करने के लिए आपको इस चरणों का पालन करना चाहिए:

  1. पर्यावरण चर में परिभाषित पथ:

    • ' सिस्टम गुण खोलें ' ;
    • ' उन्नत ' टैब पर ' पर्यावरण चर ' पर क्लिक करें ' बटन पर क्लिक करें
    • ' सिस्टम चर ' अनुभाग में ' पथ ' विकल्प चुनें और ' संपादन ' पर क्लिक करें
    • TortoiseProc.exe के लिए पथ के साथ चर मान जोड़ेंउदाहरण के लिए, फ़ाइल

      C: \ Program Files \ TortoiseSVN \ bin

  2. चूंकि आपने TortoiseProc को पंजीकृत किया है , इसलिए आप इसे TortoiseSVN प्रलेखन के अनुसार उपयोग कर सकते हैं ।

    उदाहरण:

    TortoiseProc.exe / कमांड: प्रतिबद्ध /path :"c:\svn_wc\file1.txt*c:\svn_wc\file2.txt "/ logmsg:" टेस्ट लॉग संदेश "करीब": 0

    TortoiseProc.exe / कमांड: अपडेट / पथ: "c: \ svn_wc \" / करीब: 0

    TortoiseProc.exe / कमांड: log /path :"c:\svn_wc\file1.txt "/ startrev: 50 / endrev: 60 / closeonend: 0

PS 'TortoiseProc' के बजाय 'svn' जैसे दोस्ताना नाम का उपयोग करने के लिए, 'TortoiseProc.exe' की निर्देशिका में 'svn.bat' फ़ाइल रखें। वहाँ svn.bat का एक उदाहरण है:

TortoiseProc.exe %1 %2 %3

मुख्य समस्या निष्पादन योग्य का नाम नहीं है (और इसे कैसे खोजना है) लेकिन पूरी तरह से अलग कमांडलाइन सिंटैक्स; मेरा जवाब देखें जो मेरे tsvnकार्यक्रम के बारे में बताता है (जो कि वॉरलॉक के उत्तर के समय मौजूद नहीं था)। हाल के विंडोज संस्करण सभी तर्कों को %*(के बजाय %1 %2 %3...) निर्दिष्ट करने की अनुमति देते हैं ।
टोबियास

10

स्वेन को फिर से TortoiseSVN इंस्टॉलेशन प्रोग्राम चलाने में सक्षम करने के लिए, "संशोधित करें" चुनें (उपयोगकर्ताओं को तरीके बदलने के लिए अनुमति देता है) और "कमांड लाइन क्लाइंट टूल" स्थापित करें।


आप में से जो सोच रहे हैं कि "संशोधित" विकल्प कहां है - कछुआ SVN
maya

@ मैया अगर आपने पहले ही इंस्टाल कर लिया है तो इसे अनइंस्टॉल और री-इंस्टॉल करने की कोशिश न करें। Control Panel\Programs\Programs and FeaturesTortoise SVN सर्च करने के लिए जाएं और क्लिक करें Changeऔर फिर क्लिक करें Modify
लकी

9

मेरा समाधान DOSKEY का उपयोग करने के लिए कुछ उपनामों को स्थापित करने के लिए किया गया था, जिन आदेशों का मैं सबसे अधिक उपयोग करता हूं:

DOSKEY svc=TortoiseProc.exe /command:commit /path:.
DOSKEY svu=TortoiseProc.exe /command:update /path:.
DOSKEY svl=TortoiseProc.exe /command:log /path:.
DOSKEY svd=TortoiseProc.exe /command:diff /path:$*

Google "डॉसकीज़" एक .cmd फ़ाइल को सेट करने के तरीके के बारे में युक्तियों के लिए जो हर बार आपके द्वारा कमांड प्रॉम्प्ट को खोलने पर यूनिक्स में *। Rc फ़ाइल की तरह चलती है।


महान! यह एकमात्र ऐसा उत्तर है जो वास्तव svnमें कमांड लाइन से TortoiseSVN को नहीं, बल्कि सामान्य रूप से आक्रमण करता है ।
वॉरिएंट चिंपांज़ी

4

आपके पास TortoiseSVN और Apache Subversion कमांड लाइन टूल दोनों हो सकते हैं। मैं आमतौर पर VisualSVN डाउनलोड साइट से Apache SVN टूल इंस्टॉल करता हूं: https://www.visualsvn.com/downloads/

एक बार स्थापित होने के बाद, अपने सेट पेट में सबवर्सन \ बिन रखें। जब आप GUI का उपयोग करना चाहते हैं तब आप TortoiseSVN का उपयोग करने में सक्षम होंगे, और कमांड लाइन से उपयोग करने के लिए आपके पास उचित SVN कमांड लाइन उपकरण हैं।


3

एक भ्रम है जो बहुत सारे कछुआ उपयोगकर्ताओं को गलत कमांड लाइन टूल का उपयोग करने के लिए पैदा कर रहा है जब वे वास्तव में svn.exeकमांड लाइन क्लाइंट की तलाश में थे ।

कमांड लाइन से TortoiseSVN का उपयोग मुझे क्या करना चाहिए या नहीं करना चाहिए?

svn.exe

यदि आप कमांड प्रॉम्प्ट से सबवर्सन कमांड चलाना चाहते हैं, तो आपको svn.exeकमांड लाइन क्लाइंट चलाना चाहिए । TortoiseSVN 1.6.x और पुराने संस्करणों में SVN कमांड-लाइन टूल शामिल नहीं थे, लेकिन आधुनिक संस्करण करते हैं।

यदि आप TortoiseSVN को स्थापित किए बिना SVN कमांड लाइन टूल प्राप्त करना चाहते हैं, तो SVN बाइनरी डिस्ट्रीब्यूशन पेज की जाँच करें या VisualSVN डाउनलोड पृष्ठ से नवीनतम संस्करण डाउनलोड करें

यदि आपके पास SVN कमांड लाइन टूल आपके सिस्टम पर स्थापित है, लेकिन फिर भी त्रुटि मिलती है 'svn' is not recognized as an internal or external command, तो आपको %PATH%पर्यावरण चर की जांच करनी चाहिए । %PATH%SVN टूल डायरेक्टरी जैसे पथ को शामिल करना चाहिएC:\Program Files (x86)\VisualSVN\bin

TortoiseProc.exe

इसके अलावा svn.exe, TortoiseSVN TortoiseProc.exeकमांड प्रॉम्प्ट से बुलाया जा सकता है। ज्यादातर मामलों में, आपको इस उपकरण का उपयोग करने की आवश्यकता नहीं है, क्योंकि इसका उपयोग केवल GUI स्वचालन के लिए किया जाना चाहिए। TortoiseProc.exeSVN कमांड-लाइन क्लाइंट के लिए प्रतिस्थापन नहीं है।


2

जैसा कि जॉय ने बताया, TortoiseSVN का खुद का कमांडलाइन सिंटैक्स है। दुर्भाग्य से यह काफी बदसूरत है, अगर आप के लिए उपयोग किया जाता हैsvn आज्ञाओं के , और यह वर्तमान कार्यशील निर्देशिका को अनदेखा करता है, तो यह स्क्रिप्टिंग को छोड़कर बहुत उपयोगी नहीं है।

मैंने थोड़ा पायथन प्रोग्राम ( tsvn) बनाया है जो svnकमांडलाइन सिंटैक्स को यथासंभव बारीकी से नकल करता है और तदनुसार TortoiseSVN को कॉल करता है। इस प्रकार, सामान्य कमांडलाइन टूल को कॉल करने और TortoiseSVN को कॉल करने के बीच का अंतर tशुरुआत में थोड़ा अक्षर तक कम हो जाता है ।

मेरा tsvnकार्यक्रम अभी पूरा नहीं हुआ है लेकिन पहले से ही उपयोगी है। यह चीज़शॉप में पाया जा सकता है ( https://pypi.python.org/pypi/tsvn/ )


उन लोगों के लिए जो पाइथन से परिचित नहीं हैं: आपको हाल ही में पाइथन 2.x दुभाषिया की आवश्यकता है। यदि आपके पास easy_installया pip install, बस निर्दिष्ट करें tsvn; अन्यथा आप टैरोबॉल को डाउनलोड और निकाल सकते हैं और इसमें निहित setup.pyइंस्टॉलेशन स्क्रिप्ट को चला सकते हैं। चूंकि इसकी व्याख्या की गई है, आप इसका पूरे विस्तार से निरीक्षण कर सकते हैं ;-)
तोबियास

2

कुछ समय बाद, मैंने इस वर्कअराउंड का उपयोग किया ...

(.bat फ़ाइल में)

SET "CHECKOUT=http://yoururl.url";
SET "PATH=your_folder_path"

start "C:\Program Files\TortoiseSVN\bin" svn.exe checkout %CHECKOUT% %PATH%

2

SVN कमांड प्राप्त करने के लिए मेरा फिक्स TortoiseSVN डायरेक्टरी से .exe और .dll फ़ाइलों को कॉपी करके उन्हें सिस्टम 32 फोल्डर में पेस्ट करना था।

आप TortoiseSVN डायरेक्टरी से कमांड भी कर सकते हैं और प्रत्येक कमांड में वर्किंग डायरेक्टरी का रास्ता जोड़ सकते हैं। उदाहरण के लिए:

C:\Program Files\TortoiseSVN\bin> svn st -v C:\checkout

पथ में बिन को जोड़ने के लिए इसे फ़ाइलों को डुप्लिकेट किए बिना काम करना चाहिए, लेकिन यह मेरे लिए काम नहीं करता था।


यह दृष्टिकोण काम नहीं कर रहा है, फिर भी दिखाता है'svn' is not recognized as an internal or external command
सूरज एम

0

"एसवीएन कमांड लाइन टूल्स" का चयन करने के बाद यह इस प्रकार हो जाएगा:

यहां छवि विवरण दर्ज करें


5
यह वांछित परिणाम है, हालांकि यह जवाब नहीं बताता है कि वास्तव में इसे कैसे प्राप्त किया जाए।
बोगदानबीव
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.