从Difference.DiffFiles C#获取更改的行

时间:2015-02-24 09:14:00

标签: c# file tfs diff

目前我正在尝试获取两个版本的源文件之间更改的行数,我目前通过拆分我从Streamwriter获取的字符串来完成此操作。

        var rev1 = new DiffItemVersionedFile(versionControl, path, VersionSpec.ParseSingleSpec(latestVersion, null));
        var rev2 = new DiffItemVersionedFile(versionControl, path, VersionSpec.ParseSingleSpec(previousVersion, null));
        var stream = new MemoryStream();

        var writer = new StreamWriter(stream);
        {
            var options = new DiffOptions();

            options.Flags = DiffOptionFlags.EnablePreambleHandling;

            options.OutputType = DiffOutputType.Unified;
            options.TargetEncoding = Encoding.UTF8;
            options.SourceEncoding = Encoding.UTF8;
            options.StreamWriter = writer;
            Difference.DiffFiles(versionControl, rev1, rev2, options, path, true);

            writer.Flush();
            var diff = Encoding.UTF8.GetString(stream.ToArray());                
        }

这就是我目前从Stream中获得的,即格式化 看起来有点尴尬,但应该有一个更简单的方法来做到这一点,因为通常有可用的结构化对象。

 $ / MainProject / Development / Client / SubFolder1 / SubFolder2 / interface / uEPagesShopInterfaceVariantenVorlagen.pas

代码线

@@ -994,7 +995,7 @@

moreCode

  • deletedLine
  • addedLine

    更多代码
    @@ -1692,6 +1693,8 @@
        一些代码

  • addedLine
  • addedLine      一些更多的代码

1 个答案:

答案 0 :(得分:0)

相关问题