VisualSVN सर्वर के साथ HTTP के माध्यम से विशिष्ट संशोधन प्राप्त करना




version-control visualsvn-server (3)

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

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

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


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

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

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

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: सबवर्जन के अगले कुछ संस्करणों में से एक को सार्वजनिक यूआरएल का दस्तावेजीकरण करना होगा जो आप पुराने संस्करणों को पुनः प्राप्त करने के लिए उपयोग कर सकते हैं।]



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

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

मैंने visualsvn का कभी इस्तेमाल नहीं किया है इसलिए आपका माइलेज अलग-अलग हो सकता है





visualsvn-server