2010-08-06 67 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

相關問題