4

我只是想知道我是否遗漏了文档中的任何内容,这些内容可以让我获得某个版本的文件中包含的行数(或者甚至从 SvnChangeItem 更改的行数,这也很好)而不必直接将文件导出到文件系统并对其进行解析,计算每一行。

任何帮助,将不胜感激。谢谢。

4

2 回答 2

0

元数据(如当前行数)不包含在存储库中,但您可以在不做凌乱的临时文件的情况下获取文件。

为简洁起见,排除代码以迭代修订等。

using (var client = new SvnClient())
{
    using (MemoryStream memoryStream = new MemoryStream())
    {
        client.Write(new SvnUriTarget(urlToFile), memoryStream);
        memoryStream.Position = 0;
        var streamReader = new StreamReader(memoryStream);
        int lineCount = 0;
        while (streamReader.ReadLine() != null)
        {
            lineCount++;
        }
    }
}
于 2012-02-23T22:31:47.900 回答
0

不,您坚持使用您命名的解决方案。导出到临时文件,计算行数,删除文件。如果您逐个文件执行此操作,则该操作相当昂贵。如果您需要对每个文件进行行数并重用工作目录以供将来运行,那么获取整个 repo 可能会更好。

于 2011-04-25T19:44:17.083 回答