2008-10-01 27 views
30

के साथ http के माध्यम से विशिष्ट संशोधन प्राप्त करना मैं एक एसवीएन रेपो होस्ट करने के लिए VisualSVN सर्वर का उपयोग कर रहा हूं, और कुछ स्वचालन कार्य के लिए, मैं http [s] परत के माध्यम से विशिष्ट संस्करण प्राप्त करने में सक्षम होना चाहता हूं।VisualSVN सर्वर

मैं सर्वर (httpd?) के लिए http [s] अनुरोध के माध्यम से हेड संस्करण प्राप्त कर सकता हूं - लेकिन क्या एक क्वेरी-स्ट्रिंग के रूप में संशोधन को निर्दिष्ट करने की कोई क्षमता है? मुझे यह प्रतीत नहीं होता है ...

मैं चेकआउट नहीं करना चाहता हूं जब तक कि मैं इसकी सहायता नहीं कर सकता, क्योंकि विशिष्ट फ़ोल्डर में बहुत सारी फ़ाइलें हैं, और मैं उन्हें सभी नहीं चाहता - सिर्फ एक या दो।

उत्तर

83

कभी भी बेहतर नहीं; ? बहुत, बहुत दिलचस्प - https://entire/Path/To/Folder/file/?p=REV

पी = रेव संशोधन

+2

जैसे पथ से एक विशिष्ट संशोधन कैसे प्राप्त करेंगे यह मेरे लिए VisualSVN सर्वर वेब इंटरफ़ेस के साथ काम करता है । धन्यवाद! – dnewcome

+2

यह मेरे लिए भी काम किया। धन्यवाद। – ianstigator

+12

यह उत्तर स्वीकृति के योग्य है! – gregorej

4

सबवर्सन उन सूचनाओं तक पहुंचने के लिए आंतरिक रूप से उपयोग किए जाने वाले उरीस को सार्वजनिक रूप से दस्तावेज नहीं करता है। (और जहां यह दस्तावेज है, यह स्पष्ट रूप से कहा गया है कि यह भविष्य के संस्करणों में बदल सकता है)

वेब पर इस जानकारी तक पहुंचने के लिए आप वेब व्यूअर (E.g. websvn, viewvc) का उपयोग कर सकते हैं।

यदि आप इसे अपने प्रोग्राम से एक्सेस करना चाहते हैं तो आप SharpSvn जैसे क्लाइंट बाइंडिंग का भी उपयोग कर सकते हैं।

using (SvnClient client = new SvnClient()) 
using (FileStream fs = File.Create("c:\\temp\\file.txt")) 
{ 
    // Perform svn cat http://svn.collab.net/svn/repos/trunk/COMMITTERS -r 23456 
    //     > file.txt 

    SvnCatArgs a = new SvnCatArgs(); 
    a.Revision = 23456; 
    client.Cat(new Uri("http://svn.collab.net/svn/repos/trunk/COMMITTERS"), a, fs); 
} 

[अद्यतन 2008-12-31: तोड़फोड़ के अगले कुछ संस्करणों सार्वजनिक यूआरएल आप पुराने संस्करण को वापस लाने के लिए उपयोग कर सकते हैं का दस्तावेजीकरण शुरू कर देंगे में से एक।]

+0

दिलचस्प निर्दिष्ट करता है। मैं उसे एक भंवर दे दूंगा। –

+0

ध्यान दें कि पुराने संशोधन को पुनर्प्राप्त करने के लिए अब हाल ही में सबवर्जन संस्करणों में सार्वजनिक यूआरएल वाक्यविन्यास है। @revision को? P = revision और an -r rev के साथ निर्दिष्ट किया जा सकता है? R = rev। (और ये मूल्य निश्चित रूप से संयुक्त किए जा सकते हैं) –

6

पता नहीं है, तो आप पहले से ही इस सवाल का जवाब मिल गया है इस सवाल का लेकिन अपाचे पर नियमित रूप से SVN सर्वर में आप के साथ एक विशेष संशोधन करने के लिए प्राप्त कर सकते हैं:

http://host/svn-name/!svn/bc/REVISION_NUMBER/path/to/file.ext 
  • मेजबान & REVISION_NUMBER स्पष्ट हैं
  • /path/to/file.ext रेपो जड़

मैं VisualSVN उपयोग नहीं किया है तो अपने लाभ भिन्न हो सकते हैं के सापेक्ष है।

+0

दिलचस्प; मैं एक नज़र डालेंगे –

+1

विजुअल एसवीएन उस प्रारूप का उपयोग नहीं करता है। ऊपर @ चेननी का जवाब देखें। –

+0

ऐसा लगता है कि मैं क्या कर रहा था - इसे Visualsvn की तरह कुछ कैसे करें। मुझे यकीन नहीं है कि मैं '! Svn/bc /' भाग का पालन करता हूं। आप इस http: // svn.apache.org/repos/asf/httpd/site/trunk/content/index.mdtext' –