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

いいえ、あなたはあなたが名前を付けたソリューションに固執しています。一時ファイルにエクスポートし、行数を数え、ファイルを削除します。このファイルごとに行う場合、かなりコストのかかる操作です。すべてのファイルを行カウントし、将来の実行のために作業ディレクトリを再利用する必要がある場合は、リポジトリ全体をフェッチする方がよい場合があります。

于 2011-04-25T19:44:17.083 に答える