C# 使用SharpSVN api,是否有任何方法可以在不导出修订版的情况下获取文件中包含的行数?
我只是想知道我是否遗漏了文档中的任何内容,这些内容允许我在某个版本中获取文件中包含的行数(或者甚至是从SvnChangeItem更改的行数,这也很好),而不必直接将文件导出到文件系统并对每行进行分析C# 使用SharpSVN api,是否有任何方法可以在不导出修订版的情况下获取文件中包含的行数?,c#,.net,sharpsvn,C#,.net,Sharpsvn,我只是想知道我是否遗漏了文档中的任何内容,这些内容允许我在某个版本中获取文件中包含的行数(或者甚至是从SvnChangeItem更改的行数,这也很好),而不必直接将文件导出到文件系统并对每行进行分析 任何帮助都将不胜感激。谢谢。不,您的解决方案就是您指定的。导出到临时文件,计算行数,删除文件。如果您一个文件一个文件地执行此操作,那么这是一个相当昂贵的操作。如果需要对每个文件进行行计数,并为将来的运行重用工作目录,那么获取整个repo可能会更好 元数据(如当前行数)不包含在存储库中,但您可以在不处
任何帮助都将不胜感激。谢谢。不,您的解决方案就是您指定的。导出到临时文件,计算行数,删除文件。如果您一个文件一个文件地执行此操作,那么这是一个相当昂贵的操作。如果需要对每个文件进行行计数,并为将来的运行重用工作目录,那么获取整个repo可能会更好 元数据(如当前行数)不包含在存储库中,但您可以在不处理凌乱的临时文件的情况下获取该文件 为简洁起见,排除了迭代修订等的代码
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++;
}
}
}