我只是想知道我是否遗漏了文档中的任何内容,这些内容允许我获取某个版本中文件中包含的行数(或者甚至是从SvnChangeItem更改的行数,这也不错)必须直接将文件导出到文件系统并通过计算每行进行解析。
任何帮助将不胜感激。感谢。
答案 0 :(得分:0)
不,你完全坚持你命名的解决方案。导出到临时文件,计算行数,删除文件。如果你逐个文件地执行这个操作是相当昂贵的。如果需要对每个文件进行行计数并重新使用工作目录以供将来运行,则最好获取整个存储库。
答案 1 :(得分: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++;
}
}
}