private static FileDiff ParseDiffHeader(IStringReader reader, ChangeSetDetail merge) { string fileName = ParseFileName(reader.ReadLine()); bool binary = false; while (!reader.Done) { string line = reader.ReadLine(); if (line.StartsWith("@@", StringComparison.Ordinal)) { reader.PutBack(line.Length); break; } else if (line.StartsWith("GIT binary patch", StringComparison.Ordinal)) { binary = true; } } if (binary) { // Skip binary files reader.ReadToEnd(); } var diff = new FileDiff(fileName) { Binary = binary }; // Skip files from merged changesets if (merge != null && merge.Files.ContainsKey(fileName)) { return(null); } return(diff); }
private static FileDiff ParseDiffHeader(IStringReader reader, ChangeSetDetail merge) { string fileName = ParseFileName(reader.ReadLine()); bool binary = false; while (!reader.Done) { string line = reader.ReadLine(); if (line.StartsWith("@@", StringComparison.Ordinal)) { reader.PutBack(line.Length); break; } else if (line.StartsWith("GIT binary patch", StringComparison.Ordinal)) { binary = true; } } if (binary) { // Skip binary files reader.ReadToEnd(); } var diff = new FileDiff(fileName) { Binary = binary }; // Skip files from merged changesets if (merge != null && merge.Files.ContainsKey(fileName)) { return null; } return diff; }