Tôi muốn tính toán số unified diff so sánh hai tài liệu. (Các diff là để đi trong một email, và Wikipedia nói khác biệt thống nhất là định dạng diff văn bản đơn giản nhất.)Làm thế nào để sử dụng thư viện Team Foundation để tính toán khác biệt thống nhất?
Team Foundation có một command line interface làm điều đó
> tf diff /format:unified alice.txt bob.txt
- Alice started to her feet,
+ Bob started to her feet,
(Ví dụ file cùng https://gist.github.com/hickford/5656513)
Tuyệt vời, nhưng tôi muốn sử dụng thư viện hơn là bắt đầu quá trình bên ngoài, vì những lý do thông thường.
Tìm kiếm MSDN, tôi thấy Team Foundation có thư viện .NET Microsoft.TeamFoundation.VersionControl
. Tuy nhiên, tài liệu này không đưa ra bất kỳ ví dụ nào về tính toán khác biệt.
Làm cách nào để tính toán khác biệt thống nhất với thư viện Team Foundation?
Edit: Tôi đã thử các phương pháp Difference.DiffItems
nhưng nó đã không làm việc-file diff.txt
được bỏ trống.
var before = @"c:\alice.txt";
var after = @"c:\bob.txt";
var path = @"c:\diff.txt";
using (var w = new StreamWriter(path))
{
var options = new DiffOptions();
options.OutputType = DiffOutputType.Unified;
options.StreamWriter = w;
Difference.DiffFiles(
before, FileType.Detect(before, null),
after, FileType.Detect(after, null),
options);
}
Console.WriteLine(File.ReadAllText(path));
Tìm thấy ai đó một vài năm trước đây với cùng một vấn đề. http://social.msdn.microsoft.com/Forums/en-US/tfsversioncontrol/thread/828ad9b0-def5-461c-bf9e-180d57f167a8 –