मेरा सबवर्सन सर्वर वर्जन नंबर कैसे खोजे?


292

मैं जानना चाहता हूं कि क्या मेरा सर्वर सबवर्सन 1.5 चला रहा है।

मैं उसे कैसे प्राप्त करूं?

मेरा SVN क्लाइंट वर्जन नंबर जानना भी अच्छा रहेगा। svn helpमददगार नहीं रहा।

नोट: मुझे अपनी परियोजना का संशोधन नंबर नहीं चाहिए , आदि यह सवाल खुद सबवर्सन सॉफ्टवेयर के बारे में है।

जवाबों:


210

आप कर सकते हैं तोड़फोड़ की संस्करण का पता लगाने के लिए:

  1. वेब पर रिपॉजिटरी को देखें और पृष्ठ के निचले भाग पर यह कुछ इस तरह कहेगा:
    "सबवर्सन संस्करण 1.5.2 (r32768) द्वारा संचालित।"
  2. कमांड लाइन से: <कर्ल डालें, यहाँ grep ऑनलाइनर डालें>

यदि प्रदर्शित नहीं है, तो पृष्ठ का स्रोत देखें

<svn version="1.6.13 (r1002816)" href="http://subversion.tigris.org/"> 

अब तोड़फोड़ के लिए:

svn --version

पर्याप्त होगा


31
यह तभी काम करता है जब सर्वर इस जानकारी को प्रदर्शित करेगा, कुछ सर्वर जैसे कि Google कोड होस्टिंग नहीं करता है।
एंड्रिया फ्रांसिया

3
क्या वह सर्वर संस्करण है, या रिपॉजिटरी संस्करण है? (वे अलग हो सकते हैं AFAIK)
ग्रीमेफ

7
आप प्रतिक्रिया शीर्षकों को भी देख सकते हैं (उदाहरण के लिए
फायरबग

6
CollabNet भी एक संस्करण संख्या प्रदर्शित नहीं करता है - या तो नेत्रहीन या पृष्ठ के स्रोत में।
TenLeftFingers

5
-1: इस उत्तर के समाप्त होने की प्रतीक्षा में ("प्लेस डालें कर्ल, यहाँ grep oneliner>" प्लेसहोल्डर।) उत्तर मेरे लिए अन्यथा उपयोगी नहीं था, क्योंकि मैं जिस सर्वर का उपयोग कर रहा हूं, वह है svn://
स्लिप डी। थॉम्पसन

133

आइए इन प्रतिक्रियाओं को मिलाएं:

रिपोर्ट / सर्वर (मूल प्रश्न) के लिए:

यदि आप सबवर्सन सर्वर तक पहुँचने में सक्षम हैं:

यदि HTTP / HTTPS एक्सेस:

  • ब्राउज़र के माध्यम से सर्वर तक पहुँचने पर "सबवर्सन द्वारा संचालित" लाइन देखें।

  • ब्राउज़र के माध्यम से रिपॉजिटरी तक पहुंचें और फिर HTML स्रोत में एम्बेडेड संस्करण स्ट्रिंग की तलाश करें। से elviejo से पहले जवाब और jaredjacobs । इसी तरह, ?? से, अपने ब्राउज़र के डेवलपर टूल (आमतौर पर Ctrl+ Shift+) का उपयोग करेंI पूर्ण प्रतिक्रिया पढ़ने के ) का । यह प्रमाणपत्र और प्राधिकरण से निपटने का सबसे आसान (गैर-स्वचालित) तरीका भी है - आपका ब्राउज़र आपके लिए करता है।

  • से, प्रतिक्रिया टैग (इन HTML स्रोत में नहीं दिखाया जाता) की जाँच पहले के एक जवाब से क्रिस्टोफर

    wget -S --spider 'http://svn.server.net/svn/repository' 2>&1 |
    sed -n '/SVN/s/.*\(SVN[0-9\/\.]*\).*/\1/p'
    

यदि svn: // या ssh + svn एक्सेस

यदि Googleकोड SVN सर्वर

    Check out the current version in a FAQ: 
    http://code.google.com/p/support/wiki/SubversionFAQ#What_version_of_Subversion_do_you_use?

यदि एक और कस्टम SVN सर्वर

    TBD

कृपया इस उत्तर को समाप्त करने के लिए संपादित करें

ग्राहक के लिए (मूल प्रश्न नहीं):

svn --version

यह उत्तर स्पष्ट नहीं है कि svnserve --versionसर्वर पर उपयोग किया जाना चाहिए। यदि यह क्लाइंट पर चलाया जाता है, तो यह क्लाइंट का वर्जन नंबर देता है, सर्वर नहीं।
क्रेग मैकक्वीन

यह एक अच्छा संग्रह है। मैंने इसे "http / https एक्सेस से पूर्ण प्रतिक्रिया पढ़ें" के माध्यम से बनाया है। मेरे मामले में मैं प्रतिक्रिया हेडर में एक लाइन देख सकते हैं: <सर्वर: "अपाचे / 2.2.14 (यूनिक्स) डीएवी / 2 SVN / 1.6.9 mod_ssl / 2.2.14 OpenSSL / 0.9.8a">
Tatera

यदि कोई दृश्य एसवीएन सर्वर का उपयोग कर रहा है, तो एचटीएमएल स्रोत की पहली कुछ पंक्तियाँ (राइट क्लिक, पेज सोर्स देखें) एसवीएन संस्करण का संकेत देंगी।
रैप्टर


70

सर्वर पर: svnserve --version

svnerve- आधारित कॉन्फ़िगरेशन (svn: // और svn + xxx: //) के मामले में।

(संपूर्णता के लिए)।


जैसा कि नीचे जे जे का उल्लेख है, मेरा मानना ​​है कि यह आपको केवल svnerve क्लाइंट प्रोग्राम का संस्करण देगा जो सबसे अधिक संभावना svn क्लाइंट प्रोग्राम से मेल खाएगा
किर्बी

12
svnserveक्लाइंट प्रोग्राम नहीं है, यह सर्वर है। और आपको सर्वर पर आने के बाद ऊपर की कमांड टाइप करनी होगी।
मिलन ए। राडदेव

48

यहाँ SVN सर्वर संस्करण प्राप्त करने का सबसे सरल तरीका है। यदि आपकी SVN रिपॉजिटरी के लिए HTTPS की आवश्यकता है, तो HTTP काम करता है ।

$ कर्ल -X विकल्प http: // my-svn-domain /
<! DOCTYPE HTML PUBLIC "- // IETF // DTD HTML 2.0 // EN">
<Html> <head> ... </ head>
<Body> ...
<पता> अपाचे / 2.2.11 (डेबियन) डीएवी / 2 एसवीएन / 1.5.6 पीएचपी / 5.2.9-4 ... </ पता>
</ body> 
</ html>

1
यह वही है जो मुझे चाहिए था। कृपया वोट करें!
बेंटफोर्ड

8
केवल तभी काम करता है जब "ServerTokens Full" ( httpd.apache.org/docs/2.2/mod/core.html#servertokens )।
मिलन ए। राडदेव

24

HTTP- आधारित सर्वर के लिए सर्वर संस्करण को खोजने के लिए एक पायथन स्क्रिप्ट है: http://svn.apache.org/repos/asf/subversion/trunk/tools/client-side/server-version.py

आप क्लाइंट संस्करण के साथ प्राप्त कर सकते हैं

`svn --version`

5
जब तक मैं गलत नहीं हूँ, ऐसा लगता है कि स्क्रिप्ट केवल http या https आधारित सर्वरों के साथ काम करती है, और svn या ssh + svn सर्वरों के साथ नहीं
क्रैशएम

अगर यह ssh आधारित है तो बॉक्स में ssh और "svn --version" चलाएं।
जॉन मेघेर

5
सर्वर पर 'svn --version' आपको केवल क्लाइंट संस्करण सर्वर पर चल रहा है, यह जरूरी नहीं कि सर्वर संस्करण के समान हो
PiedPiper

1
उस स्क्रिप्ट को Apache सर्वर पर सेट होने के लिए ServerTokens Full की भी आवश्यकता होती है। यह उसी सर्वर के लिए विफल हो जाएगा जिस पर कर्ल समाधान विफल हो जाएगा।
यम ६५५

24

यदि HTML लिस्टिंग में सबवर्सन सर्वर संस्करण प्रिंट नहीं किया गया है, तो यह सर्वर द्वारा दिए गए HTTP RESPONSE हेडर में उपलब्ध है। आप इसे इस शेल कमांड का उपयोग करके प्राप्त कर सकते हैं

wget -S --no-check-certificate \
  --spider 'http://svn.server.net/svn/repository' 2>&1 \
  | sed -n '/SVN/s/.*\(SVN[0-9\/\.]*\).*/\1/p';

यदि SVN सर्वर को आपको उपयोगकर्ता नाम और पासवर्ड प्रदान करने की आवश्यकता होती है, तो wgetपैरामीटर --userऔर --passwordकमांड को इस तरह जोड़ें

wget -S --no-check-certificate \
  --user='username' --password='password' \
  --spider 'http://svn.server.net/svn/repository' 2>&1 \
  | sed -n '/SVN/s/.*\(SVN[0-9\/\.]*\).*/\1/p';

4
मैंने कर्ल के साथ और URL से इस पृष्ठ पर अन्य सभी विकल्पों की कोशिश की, और यह अब तक केवल एक ही है जिसने मेरे लिए काम किया है - सर्वर फ्रीबेस, सर्वर 1.6.16।
विचारमेन .42

इसी तरह यह एकमात्र उत्तर है जिसने मेरे लिए यहां सभी उत्तरों के बीच काम किया है। मैंने फ़ायरफ़ॉक्स लाइव HTTP हेडर्स का उपयोग किया और सर्वर की प्रतिक्रिया को पढ़ने के लिए क्योंकि मुझे एसएसएल प्रमाण पत्र की समस्याएं भी थीं, जो मुझे यह पता लगाने में परेशानी का कारण नहीं लग रहा था। धन्यवाद, क्रिस्टोफर
किर्बी

1
@Kirby मैंने एक --no-check--certificateपैरामीटर, एक --userऔर --passwordसर्वर को संभालने के लिए जो क्रेडेंशियल की आवश्यकता होती है, लेकिन एक मान्य ssh प्रमाणपत्र नहीं है। जैसा कि आपने उल्लेख किया यह बहुत आम है।
क्रिस्टोफर

1
@ क्रिस्‍टोफर इसे '' wget --password = 'पासवर्ड' पढ़ना चाहिए .. | ..? ' ऊपर।
whaefelinger

@whaefelinger सुधार के लिए धन्यवाद। मैंने जवाब अपडेट कर दिया है।
क्रिस्टोफर

8

एक और विकल्प: यदि आपके पास फ़ायरफ़ॉक्स है (मैं 14.0.1 का उपयोग कर रहा हूं) और एक एसवीएन वेब इंटरफ़ेस:

  • ओपन टूल्स-> वेब डेवलपर-> वेब कंसोल रेपो पेज पर
  • पृष्ठ ताज़ा करें
  • GET लाइन पर क्लिक करें
  • एक नज़र डालें जो प्रतिक्रिया हेडर पर अनुभाग सर्वर: रेखा

वहां "SVN / 1.7.4" स्ट्रिंग या समान होना चाहिए। फिर, यह केवल तभी काम करेगा जब आपके पास "ServerTokens Full" होगा जैसा कि ऊपर उल्लेख किया गया है।


धन्यवाद। मैंने डेवलपर टूल विंडो में नेटवर्क टैब खोलकर (इसे एक्सेस करने के लिए F12 दबाएं) और फिर प्रतिक्रिया का निरीक्षण करके Chrome में VisualSVN सर्वर के लिए एक समान काम किया।
XåpplI'-I0llwlg'I -

अद्यतन: ताज़ा करने से पहले उपकरण फलक में नेटवर्क टैब पर क्लिक करें (वर्तमान में फ़ायरफ़ॉक्स 30)
कॉनराड

7

वास्तव में यह पता लगाने का एक आसान तरीका नहीं है कि आपके सर्वर को किस संस्करण में चलाया जा रहा है - सर्वर पर जाने के अलावा और अपने लिए देखें।

हालाँकि, यह इतनी बड़ी समस्या नहीं हो सकती जितनी आप सोच सकते हैं। सबवर्सन क्लाइंट ग्रंट का बहुत काम होता था जिसे संभाला जाता है, और सबवर्सन क्लाइंट के अधिकांश संस्करण सर्वर के लगभग किसी भी संस्करण के साथ काम कर सकते हैं।

अंतिम रिलीज जहां सर्वर संस्करण वास्तव में क्लाइंट के लिए एक अंतर था रिलीज मर्ज ट्रैकिंग जोड़ा गया था जब रिलीज 1.4 से रिलीज 1.5 में बदलाव था। संस्करण 1.6 में मर्ज ट्रैकिंग में बहुत सुधार किया गया था, लेकिन यह वास्तव में क्लाइंट और सर्वर के बीच बातचीत को प्रभावित नहीं करता है।

आइए तोड़फोड़ 1.8 में नवीनतम परिवर्तन करें:

  • svn moveअब एक प्रथम श्रेणी ऑपरेशन है : तोड़फोड़ अंत में समझता है svn moveकि यह एक svn copyऔर नहीं है svn delete। हालाँकि, यह कुछ ऐसा है जो क्लाइंट हैंडल करता है और सर्वर संस्करण को वास्तव में प्रभावित नहीं करता है।
  • svn merge --reintegrate पदावनत : फिर से, जब तक कि सर्वर 1.5 या उससे अधिक संस्करण पर है, यह कोई समस्या नहीं है।
  • संपत्ति का संचय : यह एक और 1.8 रिलीज़ अपडेट है, लेकिन यह किसी भी सबवर्सन सर्वर के साथ काम करेगा - हालांकि 1.8 चलाने वाले सबवर्सन सर्वर अंतर्निहित गुणों पर बेहतर प्रदर्शन करेंगे।
  • दो नए निहित गुण - svn:global-ignoresऔरsvn:auto-props : काश! जो हम वास्तव में चाहते थे। इन दो संपत्तियों को बिना किसी तोड़फोड़ के कॉन्फ़िगरेशन फ़ाइल के आधार पर सेटअप करने का एक तरीका। हालाँकि, यह क्लाइंट-ओनली समस्या है, इसलिए यह फिर से मायने नहीं रखता कि आप किस सर्वर का उपयोग कर रहे हैं।
  • ग्नू-एजेंट मेमोरी कैशिंग : एक और ग्राहक-केवल सुविधा।
  • fsfs प्रदर्शन संवर्द्धन और रिसोर्स-इन-रिपॉजिटरी प्रमाणीकरण। अच्छी विशेषताएं, लेकिन ये आपके द्वारा उपयोग किए जा रहे क्लाइंट के किसी भी संस्करण से कोई फर्क नहीं पड़ता।

सभी विशेषताओं में से, केवल एक सर्वर के संस्करण के 1.5 या अधिक होने पर निर्भर करता है (और 1.4 कुछ समय के लिए अप्रचलित हो गया है। 1.8 की नई सुविधाएँ आपकी कार्य प्रतिलिपि के प्रदर्शन में सुधार करेंगी, लेकिन सर्वर में संशोधन 1.8 isn है। 'आवश्यक है। आप अपने सर्वर संस्करण की तुलना में अपने क्लाइंट संस्करण से बहुत अधिक प्रभावित हैं।

मुझे पता है कि यह वह उत्तर नहीं है जो आप चाहते थे (सर्वर संस्करण को देखने का कोई आधिकारिक तरीका नहीं), लेकिन सौभाग्य से सर्वर संस्करण वास्तव में आपको इतना प्रभावित नहीं करता है।


7

इसे इस्तेमाल करे:

ssh your_user@your_server svnserve --version

svnserve, version 1.3.1 (r19032)
   compiled May  8 2006, 07:38:44

मुझे उम्मीद है यह मदद करेगा।


4

एक svn + ssh विन्यास के लिए, ssh का उपयोग करने के लिए svnerve --version को होस्ट मशीन पर चलाएँ:

$ ssh उपयोगकर्ता @ होस्ट svnerve --version

यह मशीन पर svnerve कमांड को चलाने के लिए आवश्यक है जो वास्तव में सर्वर के रूप में सेवारत है।


1
यह मानता है कि आप सर्वर पर ssh कर सकते हैं। अधिकृत_कीज़ फ़ाइल और कमांड = svnerve में सार्वजनिक कुंजी के साथ svn + ssh सर्वर को कॉन्फ़िगर करना आम बात है जो स्वचालित रूप से --version विकल्प के बिना svnserver को शुरू करता है।
jrwren

2

SVN पते पर जाने के लिए बस एक वेब ब्राउज़र का उपयोग करें। स्रोत कोड ( Ctrl+ U) की जाँच करें । तब आपको HTML कोड में कुछ ऐसा मिलेगा:

<svn version="1.6. ..." ...

2

Firefox के साथ भंडार ब्राउज़ करें और साथ तत्व का निरीक्षण Firebug । नेट टैब के तहत, आप पृष्ठ के हेडर की जांच कर सकते हैं। यह कुछ इस तरह होगा:

Server: Apache/2.2.14 (Win32) DAV/2 SVN/1.X.X

1
मेरे तोड़फोड़ सर्वर के साथ यह कोशिश की और संस्करण नहीं देखा। अन्य पोस्टों को देखते हुए ऐसा ही लगता है कि सभी तोड़फोड़ सर्वर सर्वर संस्करण संख्या के निर्धारण के इस विशेष तरीके का समर्थन नहीं करते हैं।
जोशुआ

1

1.7 और इसके बाद के संस्करण के लिए, सर्वर एक पाद प्रदान नहीं करता है जो सर्वर संस्करण को इंगित करता है। लेकिन आप प्रतिक्रिया शीर्षकों से संस्करण प्राप्त करने के लिए निम्न कमांड चला सकते हैं

$ curl -s -D - http://svn.server.net/svn/repository
HTTP/1.1 401 Authorization Required
Date: Wed, 09 Jan 2013 03:01:43 GMT
Server: Apache/2.2.9 (Unix) DAV/2 SVN/1.7.4

ध्यान दें कि यह सबवर्सन सर्वर पर भी काम करता है जहाँ आपके पास एक्सेस करने के लिए प्राधिकरण नहीं है।


1

आप HTTP का उपयोग करके अपने सबवर्सन सर्वर से कनेक्ट कर सकते हैं और HTTP हेडर में संस्करण संख्या पा सकते हैं।


0

यदि आप VisualSVN सर्वर का उपयोग करते हैं, तो आप कई अलग-अलग तरीकों से संस्करण संख्या का पता लगा सकते हैं।

VisualSVN सर्वर प्रबंधक का उपयोग करें

प्रबंधन कंसोल के माध्यम से संस्करण का पता लगाने के लिए इन चरणों का पालन करें:

  1. VisualSVN सर्वर प्रबंधक को प्रारंभ करें कंसोल ।
  2. डैशबोर्ड के निचले-दाएं कोने पर संस्करण देखें ।

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

यदि आप संस्करण पर क्लिक करते हैं तो आप घटकों के संस्करण भी देखेंगे।

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

README.txt फ़ाइल की जाँच करें

Readme.txt फ़ाइल से संस्करण का पता लगाने के लिए इन चरणों का पालन करें:

  1. Notepad.exe प्रारंभ करें ।
  2. खोलें % VISUALSVN_SERVER% README.txt फ़ाइल। पहली पंक्ति संस्करण संख्या दिखाती है।

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


-1

कमांड लाइन पर निम्नलिखित आपको संस्करण संख्या देनी चाहिए

   svn --version

11
यह केवल आपको क्लाइंट का संस्करण देता है (जब तक कि आप इसे सर्वर पर नहीं चलाते)। (और फिर भी, सर्वर का svn क्लाइंट जरूरी svn सर्वर के समान संस्करण नहीं है, हालांकि यह सबसे अधिक संभावना है।)
cjm

12
-1 यह केवल सबवर्सन क्लाइंट नंबर देता है जो सर्वर नंबर से संबंधित नहीं है।
एंड्रिया फ्रांसिया 10

2
यह ग्राहक के लिए है। सर्वर संस्करण के लिए svnerve --version
राजेश

1
svn helpसहायक नहीं था क्योंकि यह दो डैश के साथ शुरू होने वाले मापदंडों को सूचीबद्ध नहीं करता था। मेरे svn संस्करण की तलाश में गूगल के माध्यम से अपनी पोस्ट मिली।
बर्नहार्ड डब्लर

-1

जब तक कि व्यवस्थापक 'svnadmin अपग्रेड' नहीं चलाता है तब तक रिपॉजिटरी स्वचालित रूप से अपडेट नहीं की जाती है। रिपॉजिटरी के संस्करण संख्या के बारे में सुनिश्चित करने के लिए, 'प्रारूप' फ़ाइल की जाँच करें। देखें @ bdumitriu की टिप्पणी

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