簡體   English   中英

直接從SVN存儲庫讀取文件內容

[英]Read file content directly from SVN repository

我想編寫一個應用程序,該應用程序從SVN存儲庫的特定路徑下的所有文本文件中的字符串標記中查找,並返回包含該標記的所有文件。 我為此應用程序使用Sharpsvn。 我知道如何獲取根SVN存儲庫路徑(當然還有其子文件夾)下的所有文件的路徑,但是我想知道是否有辦法直接從SVN存儲庫中讀取每個文件的內容而無需檢出或導出它們運行我的應用程序的計算機上? 如果沒有這種直接從資源庫中讀取內容的方法,您如何建議我順利地結帳或導出文件,以便在所有文件中查找特定令牌?

SvnClient.Write與URL目標一起使用,並從MemoryStream讀取字符串:

using (var stream = new MemoryStream())
using (SvnClient client = new SvnClient())
{
    string yourUrl = "http://svn.apache.org/repos/asf/subversion/trunk/CHANGES";
    if (client.Write(new SvnUriTarget(yourUrl), stream))
    {
        // reset the position to read from the beginning
        stream.Position = 0;
        using (var reader = new StreamReader(stream))
        {
            string contents = reader.ReadToEnd();

            // find your token
        }
    }
}

請注意,這不會很快,因為它將為每個文件打開到服務器的新連接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM