मैं दो दस्तावेज़ों की तुलना में unified diff की गणना करना चाहता हूं। (Diff एक ईमेल में जाने के लिए है, और विकिपीडिया का कहना है एकीकृत diff में सामान्य पाठ diff स्वरूप है।)यूनिफाइड डिफ की गणना करने के लिए टीम फाउंडेशन की लाइब्रेरी का उपयोग कैसे करें?
टीम फाउंडेशन एक command line interface करना है कि
> tf diff /format:unified alice.txt bob.txt
- Alice started to her feet,
+ Bob started to her feet,
(https://gist.github.com/hickford/5656513 पर उदाहरण फ़ाइलें)
शानदार, लेकिन सामान्य कारणों से, मैं बाहरी प्रक्रिया शुरू करने की बजाय लाइब्रेरी का उपयोग करना चाहता हूं।
एमएसडीएन खोजना, मैंने पाया कि टीम फाउंडेशन में .NET लाइब्रेरी Microsoft.TeamFoundation.VersionControl
है। हालांकि, प्रलेखन ने एक अंतर की गणना करने के कोई उदाहरण नहीं दिए।
मैं टीम फाउंडेशन लाइब्रेरी के साथ एक एकीकृत diff की गणना कैसे करूं?
संपादित करें: मैं विधि Difference.DiffItems
कोशिश की, लेकिन यह काम नहीं किया था-फ़ाइल diff.txt
खाली छोड़ दिया गया था।
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));
मिले किसी और एक ही समस्या के साथ कुछ साल पहले किसी को। http://social.msdn.microsoft.com/Forums/en-US/tfsversioncontrol/thread/828ad9b0-def5-461c-bf9e-180d57f167a8 –