TreeChanges
LibGit2Sharp で反復するための最良の (高性能でシンプルな) 方法は何でしょうか?
プロパティにアクセスする.Patch
と、変更の全文が取得されます。これは私にとっては十分ではありません...理想的には、差分行を反復処理し、各行ごとに行のステータス (変更、追加、削除) を取得し、そこから独自の出力を作成できるようにしたいと考えています。
アップデート:
独自の差分出力を作成したいとしましょう。私がやりたいのは、変更された行を反復処理することです。反復中に、変更の種類 (追加、削除) を確認し、出力を作成します。
例えば:
var diff = "";
foreach (LineChange line in changes) // Bogus class "LineChange"
{
if (line.Type == LineChange.TYPE_ADDED)
diff += "+";
else
diff += "-";
diff += line.Content;
diff += "\n";
}
上記は、私が求めている柔軟性の簡単な例です。変更を確認し、行の変更の種類に応じていくつかのロジックを実行できるようにします。プロパティは既に "構築" されていPatch
ます。1 つの方法はそれを解析することですが、ライブラリが最初に出力を構築し、次にそれを解析するのはばかげているようです...構築要素を直接使用したいです。
上記の単純な例よりもはるかに多くのコードとロジックを含む変更の視覚的な差分を表示できるように、この種の機能が必要です。