2009-03-08 15 views
9

स्थानीय मशीन पर svnversion के साथ एक उपवर्तन भंडार की संशोधन संख्या प्राप्त करने में कोई समस्या नहीं है। अब मैं अपने ऑनलाइन भंडार (अपाचे 2 के साथ WebDAV) से संशोधन संख्या प्राप्त करना चाहता हूं।रिमोट रिपोजिटरी

मैं इस कोशिश की:

svnversion http://nick:[email protected]/svn/test` 

एक ब्राउज़र यह सामान्य तरीके से काम किया में (बस सुनिश्चित करने के लिए वहाँ लिखने की त्रुटियों या तो नहीं थे), लेकिन svnversion कहा कि निर्देशिका नहीं पाया जा सकता है। तो मुझे लगता है कि मैं गलत ट्रैक पर था।

मैं संशोधन संख्या कैसे प्राप्त कर सकता हूं?

उत्तर

21

svnversion सिर्फ प्रतियां काम करने के लिए है, लेकिन एक तरह से अपने भंडार क्वेरी करने के लिए svn info उपयोग करने के लिए इस प्रकार होगा:

svn info http://nick:[email protected]/svn | grep Revision 
6
svn info http://nick:[email protected]/svn/test 

दूरदराज के भंडार के बारे में जानकारी देना चाहिए, संशोधन सहित

5

एक काम AWK एक लाइनर '{$ 2 प्रिंट}' केवल संख्या में भाग प्राप्त करने के लिए:

svn info http://nick:[email protected]/svn | awk '/Revision:/ { print $2 }' 
3

SVN (1.9) के नए संस्करण पर आप कर सकते हैं:

svn info --show-item revision svn://... 
18436 

इसे केवल संशोधन संख्या वापस करनी चाहिए।

यदि आपका लोकेल अंग्रेजी नहीं है तो सभी grep संस्करण तोड़ देंगे।

पिछले संस्करण के लिए, आप

svn info --xml | grep '<entry' -3 | awk -F '=' '/revision="/ { print $2 }' | grep -o '[0-9]\+' 

कोशिश कर सकते हैं आप xml2 पैकेज एक बेहतर तरीका क्या करना है कर सकते हैं:

svn info --xml | xml2 | grep /info/entry/@revision | grep -o '[0-9]\+' 
+0

एक्सएमएल संस्करण फ्रेंच स्थान में मेरे लिए काम किया। – davestevens

+0

grep और awk संस्करण दोनों रिविजन में उच्चारण को याद करते हैं। – davestevens

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