الحصول على مراجعة محددة عبر HTTP مع خادم VisualSVN
-
03-07-2019 - |
سؤال
أنا أستخدم VisualSVN Server لاستضافة REPO SVN ، وبالنسبة لبعض أعمال الأتمتة ، أود أن أتمكن من الحصول على إصدارات محددة عبر طبقة HTTP [S].
يمكنني الحصول على إصدار الرأس ببساطة عبر طلب http [s] إلى الخادم (httpd؟) - ولكن هل هناك أي قدرة على تحديد المراجعة ، ربما كسلسلة استعلام؟ أنا غير قادر على العثور على ما يبدو عليه...
لا أرغب في إجراء الخروج إلا إذا كان بإمكاني مساعدته ، حيث يوجد الكثير من الملفات في المجلد المحدد ، ولا أريدهم جميعًا - واحد أو اثنين فقط.
المحلول
أن تأتي متأخرا أفضل من ألا تأتي أبدا؛https: // كامل/مسار/إلى/مجلد/ملف/؟ p = rev
؟ p = Rev يحدد المراجعة
نصائح أخرى
Dunno إذا كنت قد عثرت بالفعل على إجابة هذا السؤال ولكن في SVN Server العادية على Apache ، يمكنك الوصول إلى مراجعة معينة مع:
http://host/svn-name/!svn/bc/REVISION_NUMBER/path/to/file.ext
- المضيف و Revision_Number واضحون
- /path/to/file.ext يتعلق بجذر الريبو
لم أستخدم صور VisualSvn أبدًا ، لذا قد يختلف عدد الأميال.
لا يقوم Subversion بتوثيق URIs علنًا الذي يستخدمه داخليًا للوصول إلى هذه المعلومات. (وحيث يتم توثيقه ، يُذكر صراحة أن هذا يمكن أن يتغير في الإصدارات المستقبلية)
للوصول إلى هذه المعلومات على الويب ، يمكنك استخدام عارض ويب (على سبيل المثال WebSVN ، عرض).
إذا كنت ترغب في الوصول إليه من برنامجك الخاص ، فيمكنك أيضًا استخدام عميل ربط مثل 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);
}
Update 2008-12-31: سيبدأ أحد الإصدارات القليلة التالية من Subversion في توثيق عناوين URL العامة التي يمكنك استخدامها لاسترداد الإصدارات القديمة.
ال صفحة المساعدة لواجهة ويب VisualSVN يقترح استخدام عنوان منسق مثل أحد هذه:
link to r1484 commit in the serf's project repository:
https://demo-server.visualsvn.com/!/#serf/commit/r1484/
link to the current content of the trunk/context.c file in the serf's project repository:
https://demo-server.visualsvn.com/!/#serf/view/head/trunk/context.c
link to the content of trunk/context.c file at revision r2222 in the serf's project repository:
https://demo-server.visualsvn.com/!/#serf/view/r2222/trunk/context.c
يبدو أن الشيء الحاسم هو رقم مراجعة الريبو بادئة من قبل 'r'. لم تذكر أي من الإجابات الأخرى هنا ، واستخدام العناوين المنسقة مثل هذا ، تمكنت من عرض مراجعة محددة لملف مصدر من خادم VisualSVN الخاص بنا.