2010-08-06 102 views
3

因此,我知道如何将文件@某些修订版本导出到文件系统(因为导出的所有重载都有路径),但我不希望为便于访问而使用文件系统。有没有办法将它重定向到一个字符串或其他东西?谢谢。使用SharpSVN如何将文件导出到内存而不是文件系统?

+0

事实证明我错了。它偶尔会发生。 :)请将答案重新分配给@ Sander-Rijken。 – kbrimington 2010-08-07 17:11:23

回答

0

我站着纠正,但无法删除帖子。

我看了一下SharpSVN的源代码,它看起来并不怎么样。该库在执行命令时不会使用.NET文件流写入文件系统(这可能会让我们了解如何使用我们选择的.NET流)。本地方法返回表示成功或失败的值,但似乎没有提供任何我们可以变成 MemoryStream或某些这样的内存中结构的句柄。

我认为这个问题的最小努力解决方案是将修订版导出到临时文件存储,然后使用 System.IO类将文件读入内存中。

+0

Nooooooooooooo:P不能存储(甚至暂时)在文件系统上,我想我将不得不寻找另一种方式!谢谢。 – 2010-08-06 20:04:20

+0

这只是不正确的,看到我的回答 – 2010-08-07 13:29:10

8

您可以使用SvnClient.Write()来做到这一点。

例子:

using(var stream = new MemoryStream()) 
{ 
    // export urlToFile, at revision 1234: 
    client.Write(new SvnUriTarget(new Uri(urlToFile), 1234), stream); 
} 
+1

或者只是client.Write(新的Uri(..),流)如果你想要HEAD版本。 – 2010-08-07 13:39:06

+1

我站好了。谢谢。 – kbrimington 2010-08-07 16:58:17

相关问题