باستخدام SharpSVN كيف يمكنك تصدير ملف إلى الذاكرة بدلاً من نظام الملفات؟

StackOverflow https://stackoverflow.com/questions/3427075

سؤال

لذلك أعرف كيفية تصدير الملفات @ بعض المراجعات إلى نظام الملفات (لأن جميع الأحمال الزائدة للتصدير لها مسارات فيها) لكنني لا أريد استخدام نظام الملفات لسهولة الوصول إلى أغراض الوصول. هل هناك طريقة لإعادة توجيه هذا إلى سلسلة أو شيء من هذا القبيل؟ شكرًا.

هل كانت مفيدة؟

المحلول

أقف تصحيحًا ، لكن لا يمكنني حذف المنشور.

لقد ألقيت نظرة على الكود المصدري لـ Sharpsvn ، ولا يبدو واعدًا. بدلاً من استخدام تدفقات ملفات .NET للكتابة إلى نظام الملفات (والتي ربما تكون قد أعطتنا بعض البصيرة كيفية استخدام دفق .NET الذي يختاره) ، تقوم المكتبة بالتداخل الأصلي عند تنفيذ الأوامر. إرجاع الطرق الأصلية التي تشير قيم النجاح أو الفشل ، ولكن لا يبدو أنها توفر مقابض لأي شيء يمكننا أن نتحول إلى أ MemoryStream أو بعض هذه الهيكل في الذاكرة.

أعتقد أن الحل الأقل جهدًا للمشكلة هو تصدير المراجعات إلى تخزين الملفات المؤقتة ، ثم قراءة الملف (الملفات) في الذاكرة مع System.IO الطبقات.

نصائح أخرى

يمكنك استخدام SvnClient.Write() لفعل هذا.

مثال:

using(var stream = new MemoryStream())
{
    // export urlToFile, at revision 1234:
    client.Write(new SvnUriTarget(new Uri(urlToFile), 1234), stream);
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top