diff --git a/LibGit2Sharp/ContentChangeStats.cs b/LibGit2Sharp/ContentChangeStats.cs
index 8314888a0..339f16495 100644
--- a/LibGit2Sharp/ContentChangeStats.cs
+++ b/LibGit2Sharp/ContentChangeStats.cs
@@ -15,16 +15,28 @@ public class ContentChangeStats
///
public virtual int LinesDeleted { get; private set; }
+ ///
+ /// The number of lines deleted in the diff.
+ ///
+ public virtual string OldFileName { get; private set; }
+
+ ///
+ /// The number of lines deleted in the diff.
+ ///
+ public virtual string NewFileName { get; private set; }
+
///
/// For mocking.
///
protected ContentChangeStats()
{ }
- internal ContentChangeStats(int added, int deleted)
+ internal ContentChangeStats(int added, int deleted, string oldFileName, string newFileName)
{
LinesAdded = added;
LinesDeleted = deleted;
+ OldFileName = oldFileName;
+ NewFileName = newFileName;
}
}
}
diff --git a/LibGit2Sharp/PatchStats.cs b/LibGit2Sharp/PatchStats.cs
index 3d6bb46cd..868536d3e 100644
--- a/LibGit2Sharp/PatchStats.cs
+++ b/LibGit2Sharp/PatchStats.cs
@@ -37,11 +37,12 @@ internal unsafe PatchStats(DiffHandle diff)
var delta = Proxy.git_diff_get_delta(diff, i);
var pathPtr = delta->new_file.Path != null ? delta->new_file.Path : delta->old_file.Path;
var newFilePath = LaxFilePathMarshaler.FromNative(pathPtr);
+ var oldFilePath = LaxFilePathMarshaler.FromNative(delta->old_file.Path);
var stats = Proxy.git_patch_line_stats(patch);
int added = stats.Item1;
int deleted = stats.Item2;
- changes.Add(newFilePath, new ContentChangeStats(added, deleted));
+ changes.Add(newFilePath, new ContentChangeStats(added, deleted, oldFilePath.ToString(), newFilePath.ToString()));
totalLinesAdded += added;
totalLinesDeleted += deleted;
}